結構體相關知識

2021-10-08 20:43:53 字數 2113 閱讀 3532

#include

#include

struct //關鍵字

struct student //可以看做將多種型別打包帶走,看做乙個包裹

;int main()

; //兩種定義方式。

2、struct student str;           //初始化結構體 

str.a=100; //給結構體裡面的資料賦值

str.c='b';

strcpy(str.str,"dzxhsnlove"); //字串要注意字串不能給字串賦值。

printf("%d\n",str.a);

printf("%c\n",str.c); //輸出

printf("%s\n",str.str);

system("pause");

return 0;

(和陣列一樣用)。
struct student

maxstr=minstr=str[0]; //直接將結構體首位址賦值給max和min。

for(i=0;i<3;i++)

}printf(「最高分是:%s,%d\n」,maxstr.name,maxstr.score); //列印結果。

printf(「最低分是:%s,%d\n」,minstr.name,minstr.score);

struct student

;int main()

; //這種方式賦值也是不可以的。

printf(「int :%d\n」,str->a); //列印結果

printf(「char :%s\n」,str->name);

struct student

p=str; //上述結構體指標偏移已經到最後,如果不在遍歷前面讓結 構體指標重新指向,則會發生錯誤

for(i=0;i<3;i++)

}struct student //struct student 這就是乙個結構體型別

;struct student *initstr(len) //struct student 型別

return p-len; //要有返回值,如果沒有,則會發生段錯誤,亦或者發生別的錯誤 ,返回的是結構體指標的首位址

}void printfint(struct student *p,int len) //遍歷

}struct student *getmax(struct student *p,int len) //求最大值

p++;

}return max;

}struct student *getmin(struct student *p,int len) //求最小值

p++;

}return min;

}float getar**er(struct student *p,int len) //求平均值

return (float)total/len;

int main()

{int len=0;

float srd;

printf(「請輸入人數\n」);

scanf("%d",&len);

//指標指向函式
struct student *p=initstr(len);

//函式返回的是p的首位址

struct student *max=null; //定義結構體最大值,用來接收函式呼叫返回的值。

struct student *min=null;

printfint(p,len); //遍歷的作用

max=getmax(p,len);

//getmax是乙個struct student 型別的,所以你要定義乙個可以接受的型別。

min=getmin(p,len);

srd=getar**er(p,len);

srd:是乙個float型別的,因為getar**er也是乙個float型別的

printf(「max=%d,min=%d,srd=%f\n」,max->score,min->score,srd);

記錄生活,記錄進步,敬請指正,望不吝賜教,望明天更好。

結構體相關知識總結

結構體傳參 1.結構體的簡單認識 struct s int main 這是乙個最簡單的結構體傳參,先定義結構體 struct s 然後在主函式中賦值,列印。2結構體進行傳參 傳值和傳址的區別 以下有幾種不同的情況 一.struct s void init struct s tmp intmain i...

結構體相關概念

struct 結構體名 成員列表 1 先宣告結構體型別再定義變數。struct 結構體名 變數名 struct product product1 struct product 是結構體型別名,而product1是結構體變數名。定義乙個基本型別的變數與定義結構體型別變數的不同之處在於,定義結構體變數不...

結構體定義 結構體指標相關用法

結構體 是一種自定義資料結構。結構體的形式 struct 型別名 結構體的結尾必須加上分號 結構體的定義以及初始化 struct student 定義student資料型別 定義完成,其地位和內建型別一樣 int main struct student stu2 struct student stu...