原文出自:
只是關於typedef的總結,會用的飄過即可。
1、我們可以為基本資料型別定義別名
格式:typedef 型別名稱 別名;
複製**
示例:typedef int integer;
interger i1 = 0;
int i2 = 0;
複製**
2、我們可以為指標型別定義別名
格式:typedef 型別名稱* 別名;
複製**
示例:typedef char* string;
string c1 = "hello";
char *c2 = "hallo";
複製**
3、我們還可以為剛才的別名再次定義別名
格式:typedef 別名 新別名;
複製**
示例:typedef int integer;
typedef integer number;
int i1 = 0;
integer i2 = 1;
number i3 = 2;
複製**
4、我們可以為結構體定義別名
格式:typedef struct 結構體名稱
別名;
複製**
typedef struct 結構體名稱
;typedef struct 結構體名稱 別名;
複製**
typedef struct
別名;
複製**
示例:typedef struct students
stu;
struct students s1 = ;
stu s2 = ;
複製**
typedef struct students
;typedef struct students stu;
struct students s1 = ;
stu s2 = ;
複製**
typedef struct
stu;
stu s1 = ;
複製**
5、我們可以為列舉定義別名
格式:typedef enum 列舉名稱 別名;
複製**
typedef enum 列舉名稱;
typedef enum 列舉名稱 別名;
複製**
示例:typedef enum gender ***;
enum gender g1;
*** s1;
複製**
typedef enum gender;
typedef enum gender ***;
enum gender g1;
*** s1;
複製**
6、我們還可以為指向函式的指標定義別名
格式:typedef 型別名稱 (*別名)(行參型別1,行參型別2,...);
複製**
示例:typedef int (*cal)(int,int);
int sum(int a,int b)
int minus(int a,int b)
int main()
複製**
7、我們可以為結構體指標定義別名
格式:struct 結構體名稱
;typedef struct 結構體名稱 * 別名;
複製**
typedef struct 結構體名稱
* 別名;
複製**
示例:struct students
;typedef struct students * point;
struct students p = ;
sturct students *p1 = &p;
point p2 = &p;
複製**
typedef struct students
* point;
struct students p = ;
sturct students *p1 = &p;
point p2 = &p;
複製**
8、注意:
在某些場合下我們也可以使用巨集定義來定義別名,例如下面**:
typedef int integer;
int main()
複製**
它的效果等同於:
#define integer int
int main()
複製**
但這兩種方法並不是在所有情況下都可以能得到同樣的效果,例如:
**一:
typedef char * string;
int main()
複製**
**二:
#define string char *;
int main()
複製**
**一中,s1與s2均為char *
**二中,s3為char *,s4卻為char。
這是因為#define只是將**中的string全部替換為char *而已:
替換前:
string s3,s4;
複製**
替換後:
char * s3,s4;
複製**
替換後的**等同於:
char * s3;
char s4;
複製**
c語言 typedef用法總結
不管實在c還是c 中,typedef這個詞都不少見,當然出現頻率較高的還是在c 中。typedef與 define有些相似,但更多的是不同,特別是在一些複雜的用法上,就完全不同了,看了網上一些c c 的學習者的部落格,其中有一篇關於typedef的總結還是很不錯,由於總結的太好了,我就直接複製過來了...
C語言typedef詳解
在c還是c 中,typedef都使用的很多。typedef與 define有些相似,其實是不同的。基本定義 typedef為c語言的關鍵字,作用是為一種資料型別定義乙個新名字,這裡的資料型別包括基本資料型別 int,char 也包括自定義的資料型別 struct 教科書上的解釋為 資料結構的表示 儲...
C語言typedef詳解
c語言允許使用者使用 typedef 關鍵字來定義自己習慣的資料型別名稱,來替代系統預設的基本型別名稱 陣列型別名稱 指標型別名稱與使用者自定義的結構型名稱 共用型名稱 列舉型名稱等。一旦使用者在程式中定義了自己的資料型別名稱,就可以在該程式中用自己的資料型別名稱來定義變數的型別 陣列的型別 指標變...