日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言用typedef定义结构体,C语言结构体定义 typedef struct

發(fā)布時間:2024/3/26 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言用typedef定义结构体,C语言结构体定义 typedef struct 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

c語言規(guī)范,定義結構體:

typedef struct ANSWER_HEADER

{

u8 u8Type;

u8 u8Code;

u32 u32TimeStamp;

struct ANSWER_HEADER *pNext;

}ANSWER_HEADER_T, *PANSWER_HEADER_T;

ANSWER_HEADER為結構名,這個名字主要是為了在結構體中包含自己為成員變量的時候有用

ANSWER_HEADER_T為struct ANSWER_HEADER的別名

PANSWER_HEADER_T為struct ANSWER_HEADER*的別名

上面的定義方式等價于

struct ANSWER_HEADER

{

u8 u8Type;

u8 u8Code;

u32 u32TimeStamp;

struct ANSWER_HEADER *pNext;

};

typedef struct ANSWER_HEADER ANSWER_HEADER_T;

typedef struct ANSWER_HEADER *PANSWER_HEADER_T;

結構的定義:

定義一個結構的一般形式為:

struct 結構名

{成員表列};

成員列表的形式為:

類型說明符 成員名;

例如 :

struct stu

{

int num;

char name[20];

char sex;

float score;

};

聲明結構變量的三種方法:

1.先定義結構類型,再聲明:

struct stu

{

int num;

char name[20];

char sex;

float score;

};

struct stu boy1, boy2;

也可以用宏定義使一個符號常量來表示

一個結構類型。

例如:

#define STU struct stu

STU

{

int num;

char name[20];

char sex;

float score;

};

STU boy1, boy2;

在定義結構類型的同時說明結構變量

例如:

struct stu

{

int num;

char name[20];

char sex;

float score;

}boy1, boy2;

這種形式的說明的一般形式為:

struct 結構名

{

成員表列

}變量名表列;

直接說明結構變量。

例如:

struct

{

int num;

char name[20];

char sex;

float score;

}boy1, boy2;

這種形式的說明的一般形式為:

struct

{

成員表列

}變量名表列;

結構指針變量說明的一般形式為:

struct 結構名 *結構指針變量名

例如:

struct stu *pstu;

當然也可在定義 stu 結構時同時說明 pstu。

例如:

struct stu

{

int num;

char name[20];

char sex;

float score;

}boy1, boy2, *pstu;

下面是譚浩強老師c語言書中typedef一節(jié):

類型定義符typedef

C語言不僅提供了豐富的數(shù)據(jù)類型,而且還允許由用戶自己定義類型說明符,也就是說

允許由用戶為數(shù)據(jù)類型取“別名”。類型定義符 typedef 即可用來完成此功能。例如,有整

型量 a,b,其說明如下:

int a,b;

其中 int 是整型變量的類型說明符。int 的完整寫法為 integer,為了增加程序的可讀性,

可把整型說明符用 typedef 定義為:

typedef int INTEGER

這以后就可用 INTEGER 來代替 int 作整型變量的類型說明了。

例如:

INTEGER a,b;

它等效于:

int a,b;

用 typedef 定義數(shù)組、指針、結構等類型將帶來很大的方便,不僅使程序書寫簡單而且

使意義更為明確,因而增強了可讀性。

例如:

typedef char NAME[20]; 表示 NAME 是字符數(shù)組類型,數(shù)組長度為 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 sex;

} STU;

定義 STU 表示 stu 的結構類型,然后可用 STU 來說明結構變量:

STU body1,body2;

typedef 定義的一般形式為:

typedef 原類型名 新類型名

其中原類型名中含有定義部分,新類型名一般用大寫表示,以便于區(qū)別。

有時也可用宏定義來代替 typedef 的功能,但是宏定義是由預處理完成的,而 typedef

則是在編譯時完成的,后者更為靈活方便。

總結

以上是生活随笔為你收集整理的c语言用typedef定义结构体,C语言结构体定义 typedef struct的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。