typedef的常用用法

2021-06-21 20:33:03 字數 1578 閱讀 8740

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).第一步。使用已知的型別定義替代typdef後面的名稱,直到只剩下乙個名字不識別為正確

如typedef u32   (*func)(u8);

從上面的定義中找到 typedef __u32  u32;typedef __u8 u8

繼續找到 typedef unsigned int __u32;typedef unsigned char __u8;

替代位置名稱 typedef unsigned int  (*func)(void);

現在只有func屬於未知

b).第二步.未知名字為定義型別,型別為取出名稱和typedef的所有部分,如上為

func等價於unsigned unsigned  int  (*)(unsigned  char);

c).第三部.定義乙個變數時,變數型別等價於把變數替代未知名字的位置所得到的型別

func f等價於unsigned unsigned int  (*f)(unsigned char)

**:

NSDate的常用用法

1.建立或初始化可用以下方法 用於建立nsdate例項的類方法有 id date 返回當前時間 id datewithtimeintervalsincenow nstimeinterval secs 返回以當前時間為基準,然後過了secs秒的時間 id datewithtimeintervalsin...

NSDate的常用用法

1.建立或初始化可用以下方法 用於建立nsdate例項的類方法有 id date 返回當前時間 id datewithtimeintervalsincenow nstimeinterval secs 返回以當前時間為基準,然後過了secs秒的時間 id datewithtimeintervalsin...

sscanf的常用用法

一 常見用法。有點類似於scanf的使用 略有區別 有點賦值的味道。1.char buf 512 sscanf 123456 s buf printf s n buf 結果為 123456 就是把123456賦值給字串型的buf 注 各種的型別使用相同,都有 d,s,f等 2.取指定長度的字串。如在...