c語(yǔ)言結(jié)構(gòu)體與函數(shù) c語(yǔ)言函數(shù)的結(jié)構(gòu)

在c語(yǔ)言中 函數(shù)和結(jié)構(gòu)體的區(qū)別

一個(gè)程序通常圍繞這兩個(gè)方面進(jìn)行:數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)操作;

太白ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書(shū)銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書(shū)合作)期待與您的合作!

結(jié)構(gòu)體是一種數(shù)據(jù)類型,用來(lái)將不同類型的數(shù)據(jù)組合在一起,決定數(shù)據(jù)的存儲(chǔ)問(wèn)題(比如在內(nèi)存占多大的空間來(lái),系統(tǒng)怎么解釋存儲(chǔ)數(shù)據(jù)的位數(shù)據(jù)啦等等)同int, double 等編譯器內(nèi)置的數(shù)據(jù)類型基本相同,只不過(guò)結(jié)構(gòu)體是用戶自己定義的數(shù)據(jù)類型而已,例如:

struct student

char name[20];

int NO;

};

函數(shù)是對(duì)數(shù)據(jù)的一種操作;

關(guān)于C語(yǔ)言的結(jié)構(gòu)體函數(shù)

如果在結(jié)構(gòu)體定義時(shí),或定義后取了別名,可以用別名,否則不能省“struct”

如:typedef

struct

Teacher

TEACHER;

則可以用TEACHER

代替struct

Teacher

C語(yǔ)言的結(jié)構(gòu)體沒(méi)有存取控制權(quán)限,相當(dāng)于C++存取控制權(quán)限中的public:

追問(wèn):

那struct

Teacher

*creat(struct

Teacher

*head);

和Teacher

*creat(struct

Teacher

*head);

一樣嗎?如果不一樣的話有什么區(qū)別呢?

追答:

是一樣的,struct

Teacher

和Teacher只是同一東西的兩種不同寫(xiě)法。

C語(yǔ)言——結(jié)構(gòu)體/函數(shù)

#include?stdio.h

#include?string.h

#define?N?(5)

struct?STUDENT

{

char?name[20];

int?age;

float?chinese,math;

};

void?scan(struct?STUDENT?*a,int?n);

void?print(struct?STUDENT?*a,int?n);

void?sort(void?*a,int?n,int?size,int?(*cmp)(void?*,void?*));

int?cmp_score(void?*a,void?*b);

int?cmp_chinese(void?*a,void?*b);

int?cmp_name(void?*a,void?*b);

int?main()

{

struct?STUDENT?a[N];

int?i;

scan(a,N);

sort(a,N,sizeof(*a),cmp_score);

print(a,N);

sort(a,N,sizeof(*a),cmp_chinese);

print(a,N);

sort(a,N,sizeof(*a),cmp_name);

print(a,N);

return?0;

}

void?scan(struct?STUDENT?*a,int?n)

{

int?i;

for(i=0;in;++i)

{

scanf("\n%s?%d?%f?%f",a[i].name,a[i].age,a[i].chinese,a[i].math);

}

}

void?print(struct?STUDENT?*a,int?n)

{

int?i;

for(i=0;in;++i)

{

printf("%s?%d?%f?%f\n",a[i].name,a[i].age,a[i].chinese,a[i].math);

}

}

void?sort(void?*a,int?n,int?size,int?(*cmp)(void?*,void?*))

{

int?i,j;

void?*t=malloc(size);

for(i=0;in-1;++i)

{

for(j=0;jn-i-1;++j)

{

if(cmp(a+size*j,a+size*(j+1)))

{

memcpy(t,a+size*j,size);

memcpy(a+size*j,a+size*(j+1),size);

memcpy(a+size*(j+1),t,size);

}

}

}

free(t);

}

int?cmp_score(void?*a,void?*b)

{

return?((struct?STUDENT?*)a)-chinese+((struct?STUDENT?*)a)-math((struct?STUDENT?*)b)-chinese+((struct?STUDENT?*)b)-math;

}

int?cmp_chinese(void?*a,void?*b)

{

return?((struct?STUDENT?*)a)-chinese((struct?STUDENT?*)b)-chinese;

}

int?cmp_name(void?*a,void?*b)

{

return?strcmp(((struct?STUDENT?*)a)-name,((struct?STUDENT?*)b)-name)0;

}

新聞名稱:c語(yǔ)言結(jié)構(gòu)體與函數(shù) c語(yǔ)言函數(shù)的結(jié)構(gòu)
標(biāo)題鏈接:http://muchs.cn/article8/hgijop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站建設(shè)、虛擬主機(jī)、靜態(tài)網(wǎng)站、App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司