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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM