今天學習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\n",A.num,A.str); 16 printf("This year is %d %s\n",B.num,B.str); 17 return 0; 18 }