IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 小议C语言-typedef关键字常见用法(1) -> 正文阅读

[C++知识库]小议C语言-typedef关键字常见用法(1)


前言

简言之,为了增强代码可读性或减少代码的冗余,采用 typedef 给某个类型取个别名。


一、typedef 用于基本数据类型

typedef int u16; 
typedef unsigned char uchar; 

以后再用到 int ,unsigned char 时可用 u16 ,uchar 代替

二、typedef 用于结构体类型

typedef struct Student{
	int sid;
	int age;
	char name[20];
}st; 
st st1  // 定义struct Student 型结构体变量; 

上面代码中构造了一个新的数据类型,类型名为 “ struct Student”

其实上述用法是一种简写,完整表达,如下所示:

 struct Student{
	int sid;
	int age;
	char name[20];
};
typedef struct Student st;
st st1  // 定义struct Student 型结构体变量; 

三、typedef 用于枚举类型

typedef enum people{
	 male = 1, 
	female = 2,
}gender;
gender s2; 

定义了一个新的数据类型,类型名“enmu people” ,结合 typedef 用法,下文可用gender 替换enum people;同理展开写如下所示

enum people{
	 male = 1, 
	female = 2,   //此处2可不写,因为枚举值具有自动递增特性
};
typedef enum people gender;
gender s2; 

四、typedef 用于数组

定义两个数组

char arr1[100];
char arr2[100];

也可以,这样

typedef char arr[100];
arr arr1,arr2;     //个人感觉没没太大用

总结

关于typedef关键字的用法还有很多,后续将继续与大家分享,与大家一块进步,以上内容欢迎指正!!

毕竟是复习,编了一段测试代码,随文附上!

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef int u16;                            
typedef struct Student{
	int sid;
	int age;
	char name[20];
}st;   
                                      
typedef enum people{
	male = 1, 
	female = 2,
}gender; 

int main(int argc, char *argv[]) 
{
	
	u16 i = 8;
    st  mid_student;
	st * pMid_student = &mid_student ;
	pMid_student->sid = 124;
	pMid_student->age = 12;
	strcpy(pMid_student->name,"lihua");
	gender s1 = male; 
    printf("%d \n ", i);
    printf("%d %d %s \n",pMid_student->sid,pMid_student->age,pMid_student->name);
    printf("%d", s1);
	
	return 0;
}


  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-03 10:58:44  更:2021-08-03 11:00:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/10 2:25:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码