qscool 2019-10-29
今天学习STM32开发时与遇到了一个类型重定义语句,查阅资料后把它的用法整理如下,不到之处敬请留言批评指定,看到就修改,来自开源,回馈开源,共同进步!
类型重定义基本介绍:
在 C 语言中,除系统定义的标准类型和用户自定义的结构体、共用体等类型之外,还可以使用类型说明语句typedef 定义新的类型来代替已有的类型。
typedef 语句的一般形式是:
1 typedef 已定义的类型 新的类型;
例如:
1 typedef int INTEGER; /*指定用 INTEGER 代表 int 类型*/ 2 typedef float REAL; /*指定用 REAL 代表 float 类型*/
在上述添加了 typedef 语句的程序中,下列语句同上述语句就是等价的:
1 int i, j; /*与 INTEGER i, j;*/ 2 float pi; /*与 REAL pi;*/
实际上,typedef的最常用的作用就是给结构体变量重命名:
#include<stdio.h> #include<string.h> typedef struct _INFO { int num; char str[256]; }INFO; int main() { struct _INFO A; INFO B; //通过typedef重命名后的名字INFO与struct _INFO完全等价! A.num = 2019; strcpy(A.str,"Welcome to wind-under-the-wing"); B=A; printf("This year is %d %s\n",A.num,A.str); printf("This year is %d %s\n",B.num,B.str); return 0; }