c語言規範,定義結構體:
typedef struct answer_header
answer_header_t, *panswer_header_t;
answer_header為結構名,這個名字主要是為了在結構體中包含自己為成員變數的時候有用
answer_header_t為struct answer_header的別名
panswer_header_t為struct answer_header*的別名
上面的定義方式等價於
struct answer_header
;typedef struct answer_header answer_header_t;
typedef struct answer_header *panswer_header_t;
結構的定義:
定義乙個結構的一般形式為:
struct 結構名
;成員列表的形式為:
型別說明符 成員名;
例如 :
struct stu
;宣告結構變數的三種方法:
1.先定義結構型別,再宣告:
struct stu
;struct stu boy1, boy2;
也可以用巨集定義使乙個符號常量來表示
乙個結構型別。
例如:#define stu struct stu
stu;
stu boy1, boy2;
在定義結構型別的同時說明結構變數
例如:struct stu
boy1, boy2;
這種形式的說明的一般形式為:
struct 結構名
變數名表列;
直接說明結構變數。
例如:struct
boy1, boy2;
這種形式的說明的一般形式為:
struct
變數名表列;
結構指標變數說明的一般形式為:
struct 結構名 *結構指標變數名
例如:struct stu *pstu;
當然也可在定義 stu 結構時同時說明 pstu。
例如:struct stu
boy1, boy2, *pstu;
下面是譚浩強老師c語言書中typedef一節:
型別定義符typedef
c語言不僅提供了豐富的資料型別,而且還允許由使用者自己定義型別說明符,也就是說
允許由使用者為資料型別取「別名」。型別定義符 typedef 即可用來完成此功能。例如,有整
型量 a,b,其說明如下:
int a,b;
其中 int 是整型變數的型別說明符。int 的完整寫法為 integer,為了增加程式的可讀性,
可把整型說明符用 typedef 定義為:
typedef int integer
這以後就可用 integer 來代替 int 作整型變數的型別說明了。
例如:
integer a,b;
它等效於:
int a,b;
用 typedef 定義陣列、指標、結構等型別將帶來很大的方便,不僅使程式書寫簡單而且
使意義更為明確,因而增強了可讀性。
例如:
typedef char name[20]; 表示 name 是字元陣列型別,陣列長度為 20。然後可
用 name 說明變數,如:
name a1,a2,s1,s2;
完全等效於:
char a1[20],a2[20],s1[20],s2[20]
又如:
typedef struct stu
char name[20];
int age;
char ***;
} stu;
定義 stu 表示 stu 的結構型別,然後可用 stu 來說明結構變數:
stu body1,body2;
typedef 定義的一般形式為:
typedef 原型別名 新型別名
其中原型別名中含有定義部分,新型別名一般用大寫表示,以便於區別。
有時也可用巨集定義來代替 typedef 的功能,但是巨集定義是由預處理完成的,而 typedef
則是在編譯時完成的,後者更為靈活方便。
C語言之typedef和結構體
今天看到乙個結構體,一直沒看明白,網上查了一些關於typedef的資料,這才終於弄明白。typedef struct fbdev fbdev,pfbdev 之前一直看不明白fbdev和 pfbdev是什麼。不過分開看的話,就非常清楚了。上面的 其實可以看成兩段,即上面的逗號的作用。typedef s...
資料結構(結構體定義,typedef)
時間2014 03 24 00 22 39 csdn部落格 原文 看了郝斌老師的資料結構,很有感觸,所以就想寫乙個系列關於資料結構的文章 不論你是出於單純學習資料結構,還是出於為考研資料結構的初試以及複試做準備的目的,我相信你都可以從本系列博文中獲益。環境 windows xp x86 vc 6.0...
C語言結構體定義
c語言結構體定義在我看來類似資料庫的表 如 include include struct st1 int id char name 30 char int score int main struct st1 s1 s1.id 1 strcpy s1.name,張三 s1.m s1.score 90 ...