C语言中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 a聲明等價于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是一個函數指針變量
識別typedef的方法:
a).第一步。使用已知的類型定義替代typdef后面的名稱,直到只剩下一個名字不識別為正確?
b).第二步.未知名字為定義類型,類型為取出名稱和typedef的所有部分,?
c).第三部.定義一個變量時,變量類型等價于把變量替代未知名字的位置所得到的類型
總結
以上是生活随笔為你收集整理的C语言中typedef的六种用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机网络——网络地址转换(NAT)
- 下一篇: 数据库知识点1