C语言使用typedef进行类型重定义

今天学习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的最常用的作用就是给结构体变量重命名:

 1 #include<stdio.h>
 2 #include<string.h>
 3 typedef struct _INFO
 4 {
 5         int num;
 6         char str[256];
 7 }INFO;
 8 int main()
 9 {
10         struct _INFO A;
11         INFO B;    //通过typedef重命名后的名字INFO与struct _INFO完全等价!
12         A.num = 2019;
13         strcpy(A.str,"Welcome to wind-under-the-wing");
14         B=A;
15         printf("This year is %d %s
",A.num,A.str);
16         printf("This year is %d %s
",B.num,B.str);
17         return 0;
18 }
原文地址:https://www.cnblogs.com/wind-under-the-wing/p/11757382.html