C语言结构体数组的定义是什么?

  结构数组就是具有相同结构类型的变量集合。

  假如要定义一个班级40个同学的姓名、性别、年龄和住址, 可以定义成一个结构数组。如下所示:
struct{ char name[8]; char sex[2]; int age; char addr[40]; }student[40];  也可定义为:
struct string{ char name[8]; char sex[2]; int age; char addr[40]; }; struct string student[40];  需要指出的是结构数组成员的访问是以数组元素为结构变量的, 其形式为:
  结构数组元素.成员名
  例如:
student[0].name student[30].age  实际上结构数组相当于一个二维构造, 第一维是结构数组元素, 每个元素是
  一个结构变量, 第二维是结构成员。
  注意: 结构数组的成员也可以是数组变量。
  例如:
struct a { int m[3][5]; float f; char s[20]; }y[4];  为了访问结构a中结构变量y[2]的这个变量, 可写成
y[2].m[1][4]

struct student
{ char stuno[10];//学号一般比较长,用字符数组存放。
char name[10];//存放姓名
float score[2];//数组中存放2门课的成绩;
float sum;//存放总分
float aver;//存放平均成绩
}stu[5]; //结构体数组,能表示5个同学各自的信息

#include<stdio.h>
struct student
{
int num;
char name[20];
float score1,score2,sum,average;
};
void main()
{
struct student stu[5];
int i;

for(i=0;i<5;i++)
{
printf("请依次输入第%d个学生的学号,姓名,和两门成绩:",i+1);
scanf("%d%s%f%f",&stu[i].num,stu[i].name,&stu[i].score1,&stu[i].score2);
stu[i].sum=stu[i].score1+stu[i].score2;
stu[i].average=stu[i].sum/2;
}
printf("学号 姓名 成绩 总成绩 平均成绩\n");
for(i=0;i<5;i++)
printf("%d %s %.2f %.2f %.2f
%.2f\n",stu[i].num,stu[i].name,stu[i].score1,stu[i].score2,stu[i].sum,stu[i].average);
}

  • C璇█缁撴瀯浣绫诲瀷
    绛旓細鍦C璇█涓紝缁撴瀯浣(struct)鎸囩殑鏄竴绉嶆暟鎹粨鏋勶紝鏄疌璇█涓仛鍚堟暟鎹被鍨(aggregate data type)鐨勪竴绫汇傜粨鏋勪綋鍙互琚0鏄庝负鍙橀噺銆佹寚閽堟垨鏁扮粍绛夛紝鐢ㄤ互瀹炵幇杈冨鏉傜殑鏁版嵁缁撴瀯銆傜粨鏋勪綋鍚屾椂涔熸槸涓浜涘厓绱犵殑闆嗗悎锛岃繖浜涘厓绱犵О涓缁撴瀯浣撶殑鎴愬憳(member)锛屼笖杩欎簺鎴愬憳鍙互涓轰笉鍚岀殑绫诲瀷锛屾垚鍛樹竴鑸敤鍚嶅瓧璁块棶銆傚湪C璇█涓紝...
  • c璇█缁撴瀯浣闂鎯抽棶涓涓媋銆恑銆.s浠涔鎰忔?璋㈣阿!
    绛旓細a鏄缁撴瀯浣撴暟缁锛宨鏄繖涓鏁扮粍鐨绗琲涓粨鏋勪綋锛沘[i]鍚屼竴涓被鍨嬫暟鎹殑涓涓寚閽堬紝杩欏効鏄垽鏂璼鎸囧悜鐨勮繖涓粨鏋勯噷鐨勬垚鍛榮鏄惁姣攁[i]閲岀殑s澶э紱s鏄寚鍚缁撴瀯鏁扮粍a鐨勬煇涓涓硷紝杩欏疄闄呭氨鏄瘮杈冪粨鏋勬暟缁刟閲岄潰鐨2涓厓绱犵殑s鐨勫肩殑澶у皬銆備緥锛歴truct A { int s锛泒a[i]锛汚 *s锛...
  • C璇█涓璼truct鏄釜浠涔鎰忔 鎬庝箞鐢 鑳戒笉鑳介氫織鐐硅
    绛旓細缁撴瀯鍚嶆槸缁撴瀯鐨勬爣璇嗙涓嶆槸鍙橀噺鍚嶃 绫诲瀷涓虹浜岃妭涓墍璁茶堪鐨勪簲绉嶆暟鎹被鍨(鏁村瀷銆佹诞鐐瑰瀷銆佸瓧绗﹀瀷銆佹寚閽堝瀷鍜 鏃犲煎瀷)銆傛瀯鎴愮粨鏋勭殑姣忎竴涓被鍨嬪彉閲忕О涓虹粨鏋勬垚鍛, 瀹冭薄鏁扮粍鐨鍏冪礌涓鏍, 浣嗘暟缁勪腑 鍏冪礌鏄互涓嬫爣鏉ヨ闂殑, 鑰缁撴瀯鏄鎸夊彉閲忓悕瀛楁潵璁块棶鎴愬憳鐨勩 涓嬮潰涓句竴涓緥瀛愭潵璇存槑鎬庢牱瀹氫箟缁撴瀯鍙橀噺銆俿truct...
  • C璇█涓,缁撴瀯浣撴暟缁鍜屼簩缁鏁扮粍鐨宸埆? 鍒濆鑰,璇疯鐨勭畝鍗曚竴浜
    绛旓細浜岀淮鏁扮粍 鍚湁鐨勬暟 鏄悓涓绉嶅彉閲忕被鍨嬬殑銆傜粨鏋勪綋 鍚湁鐨勬暟 涓鑸槸涓嶅悓鍙橀噺绫诲瀷鐨勩缁撴瀯浣撴暟缁 鏄惈鏈夊涓 鍚屼竴绉嶇粨鏋勭殑 缁勫悎銆備簩缁存暟缁勶紝鏁板涓婂彲浠ユ帓鍒楁垚 鐭╅樀锛屽嚑琛屽嚑鍒椼傜粨鏋勪綋鍜 缁撴瀯浣撴暟缁勶紝涓嶈兘 鎺掑垪鎴 鐭╅樀銆
  • c璇█缂栫▼:寤虹珛涓涓缁撴瀯浣撴暟缁?
    绛旓細鍒嗘瀽棰樻剰:涓銆佽瀹氫箟涓や釜缁撴瀯浣锛屼竴涓槸鏃ユ湡骞存湀鏃ワ紝涓涓槸鍛樺伐銆備簩銆佺▼搴忓寘鍚笁涓姛鑳斤細1銆佺粨鏋鏁扮粍鐨杈撳叆銆2銆佺粨鏋勬暟缁勭殑杈撳嚭銆3銆佺粺璁″钩鍧囧伐璧勩傛牴鎹紪绋嬩範鎯紝涓夊姛鑳借鍐欐垚鐙珛鍑芥暟锛屾柟渚挎墿灞曞拰璋冪敤銆俻s:鍛樺伐鏁伴噺瀹氫箟鎴愬父閲忥紝涔熶负缂栫▼涔犳儻锛屼究浜庝慨鏀广傚彟澶栵紝鏃ユ湡楠岃瘉鎴戝彧鍐欎簡鏈堜唤妫娴嬬粰浣犲弬鑰冦傞渶...
  • c璇█閲屽鏁缁撴瀯浣撶殑瀹氫箟
    绛旓細1銆侀鍏堟垜浠墦寮Dev銆2銆佹垜浠粰杩欎釜缁撴瀯浣撳彇涓悕瀛楀彨student銆3銆佺劧鍚庢垜浠坊鍔犲彉閲忋4銆佺粰缁撴瀯浣撶被鍨嬫寚閽坧鐢宠鍫嗙┖闂淬5銆佷娇鐢╢or寰幆缁欑粨鏋勪綋璧嬪笺6銆佸湪閫氳繃for寰幆鎵撳嵃杈撳嚭锛岃繖鏍峰氨瀹屾垚灏缁撴瀯浣撶殑鍩烘湰鍒涘缓锛岀粨灏句笉瑕佸繕浜嗕娇鐢╢ree(p);閲婃斁鎴戜滑鐢宠鐨勫爢绌洪棿銆
  • C璇█,缁撴瀯浣
    绛旓細struct鍦C璇█涓槸涓涓叧閿瓧锛岀敤浜瀹氫箟缁撴瀯鏁版嵁绫诲瀷銆傞棶棰樹腑鐨勪袱绉嶅畾涔夌殑鍖哄埆鍦ㄤ簬绗竴绉嶆槸缁檚tudent鏁版嵁绫诲瀷锛岄噸鏂板畾涔変簡涓涓被鍨嬪埆鍚嶏紝鑰岀浜岀鍒欏崟绾殑琛ㄧず涓绉嶅彨鍋歴tudent鐨勬暟鎹粨鏋勭被鍨嬨備袱鑰呯殑涓昏鍖哄埆鍦ㄤ簬鍚庨潰鐩存帴瀹氫箟鍙橀噺鏃躲傚涓嬩唬鐮侊紝鍒欏彲浠ョ洿鎺ュ湪缁撴瀯浣鍚庨潰瀹氫箟涓涓獄hang_san鐨勭粨鏋勪綋鍙橀噺銆俿truct?
  • c璇█涓殑c(5,2)鏄粈涔鎰忔?
    绛旓細C(5锛2)琛ㄧず浠5涓噷闈㈠彇2涓殑鍒嗙粍鏁帮紝鍗崇粍鍚堟暟锛屽叾璁$畻鏂规硶鏄5脳4梅锛2脳1锛=10锛涒渃涓婇潰2涓嬮潰5(0銆4)(0銆6)鐨勪笁娆℃柟鈥鐨勫惈涔夋槸鈥滃湪5娆$嫭绔嬮噸澶嶈瘯楠屼腑锛屾伆濂藉彂鐢2娆$殑姒傜巼鈥濄傚湪C璇█涓畾涔変簡涓涓缁撴瀯浣锛岀劧鍚庣敵鏄庝竴涓寚閽堟寚鍚戣繖涓粨鏋勪綋锛岄偅涔堟垜浠鐢ㄦ寚閽堝彇鍑虹粨鏋勪綋涓殑鏁版嵁锛屽氨瑕佺敤鍒...
  • ...璇枃,鏁板,澶栬,鎬诲垎)銆瀹氫箟涓涓鐢缁撴瀯浣撴暟缁銆
    绛旓細include <stdio.h>struct student { char name[20]; int idnum; float score[3]; //鍒嗗埆瀛樹笁绉戞垚缁 double total; // 鎬诲垎};struct student * highscore(struct student *s, int n){ int i; struct student * high = s; for(i = 0; i < n; i++) { (s...
  • C璇█姹傚姪:瀹氫箟涓涓鐢缁撴瀯浣撴暟缁stu[10],缁撴瀯浣撶被鍨?
    绛旓細int num;//鎴愬憳num (瀛﹀彿)鐨勭被鍨嬩负鏁村瀷 char name[21];//鎴愬憳name (濮撳悕)鐨勭被鍨嬩负瀛楃鏁扮粍 char sex;//鎴愬憳sex(鎬у埆)鐨勭被鍨嬩负瀛楃鍨 int age; //鎴愬憳score(鍒嗘暟)鐨勭被鍨嬩负double绫诲瀷 }stu;void show(stu a[],int n) { for(int i = 0; i < n; ++i)printf("%d\t%d\t%s\t%c\t...
  • 扩展阅读:c语言struct结构体数组 ... c#结构体内定义数组 ... c语言结构体数组拷贝 ... c语言结构体例题 ... c语言如何使用结构体 ... 结构体数组是什么意思 ... 声明一个结构体数组 ... 定义一个结构体数组 ... c语言结构体数组简单例子 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网