typedef用法 typedef enum用法


typedef用法 typedef enum用法

文章插圖
【typedef用法 typedef enum用法】大家好,小跳來為大家解答以上的問題 。typedef enum用法,typedef用法這個很多人還不知道,現在讓我們一起來看看吧!
1、typedef常見用法1.常規變量類型定義例如:typedef unsigned char uchar描述:uchar等價于unsigned char類型定義 uchar c聲明等于unsigned char c聲明2.數組類型定義例如: typedef int array[2];描述: array等價于 int [2]定義; array a聲明等價于int a[2]聲明擴展: typedef int array[M][N];描述: array等價于 int [M][N]定義; array a聲明等價于int a[M][N]聲明3.指針類型定義例如:typedef int *pointer;描述: pointer等價于 int *定義;pointer p聲明等價于int *a聲明例如:typedef int *pointer[M];描述: pointer等價于 int *[M]定義pointer p聲明等價于int *a[M]聲明明4.函數地址說明描述:C把函數名字當做函數的首地址來對待,我們可以使用最簡單的方法得到函數地址例如: 函數:int func(void); unsigned long funcAddr=(unsigned long)func,funcAddr的值是func函數的首地址5.函數聲明例如: typedef int func(void);func等價于 int (void)類型函數描述1: func f聲明等價于 int f(void)聲明,用于文件的函數聲明描述2: func *pf聲明等價于 int (*pf)(void)聲明,用于函數指針的生命,見下一條6.函數指針例如: typedef int (*func)(void)描述: func等價于int (*)(void)類型func pf等價于int (*pf)(void)聲明 , pf是一個函數指針變量7.識別typedef的方法:a).第一步 。
2、使用已知的類型定義替代typdef后面的名稱,直到只剩下一個名字不識別為正確如typedef u32(*func)(u8);從上面的定義中找到 typedef __u32u32;typedef __u8 u8繼續找到 typedef unsigned int __u32;typedef unsigned char __u8;替代位置名稱 typedef unsigned int(*func)(void);現在只有func屬于未知 。
3、b).第二步.未知名字為定義類型,類型為取出名稱和typedef的所有部分,如上為 func等價于unsigned unsignedint(*)(unsignedchar);c).第三部.定義一個變量時,變量類型等價于把變量替代未知名字的位置所得到的類型func f等價于unsigned unsigned int(*f)(unsigned char) 。
本文到此分享完畢 , 希望對大家有所幫助 。