用戶自己建立的數(shù)據(jù)類型(一)--結(jié)構(gòu)體類型

一般情況下,我們定義的變量之間是沒有內(nèi)在(內(nèi)存上)關(guān)系的。比如一個學(xué)生的相關(guān)信息:“int mum;char name[20];float score;”,雖然,年月日本身上是存在關(guān)系的,但是在內(nèi)存中,它們卻不是在內(nèi)存連續(xù)的。有人自然地想到數(shù)組,但數(shù)組中的數(shù)據(jù)必需要是同一數(shù)據(jù)類型。因此,想要體現(xiàn)不同數(shù)據(jù)類型之間的數(shù)據(jù)的內(nèi)在關(guān)系,就要建立用戶自己的數(shù)據(jù)類型,即為結(jié)構(gòu)體類型。

比如上面的學(xué)生的相關(guān)信息可以用如下的結(jié)構(gòu)體:

struct Student

{

int mum;

char name[20];

float score;

};

基本使用方法為:

struct 結(jié)構(gòu)體名

成員列表(域表);

};

(注意:最后一個花括號后的分號不可省略)

結(jié)構(gòu)體不僅僅有上面的類型,還有以下的類型:

struct Teacher

{

int num;

char name[20];

char address[50] ;

};


struct Date

{

int year;

int month;

int day;

};


下面舉一個例子來體現(xiàn)結(jié)構(gòu)體的作用。

#include

struct Student

{

int num;

char name[20];

float score;

};

int main()

{

struct Student a={10101,"Li Lin",98.5};

printf("The date:\n");

printf ("Num:%5d\nName:%s\nScore:%6.2f\n",a.num,a.name,a.score);

return 0;

}

結(jié)果:

運行結(jié)果

注:"."為成員運算符,a.name表示a中的name成員。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容