實驗目的
理解並掌握使用不同資料型別的變數組合成乙個資料的組合體-結構體與共用體的定義與引用;正確使用結構體陣列、結構體與函式及指向結構體的指標。
要點提示
1.結構體定義的一般格式為:
struct 結構體型別名
資料型別成員名1;
資料型別成員名2;
資料型別成員名n;
2.結構體變數的說明
struct 結構體型別名結構體變數名;
3.引用結構體成員
結構體變數名.成員名
共用體與結構體有相似的使用形式
實驗內容
● 結構體的定義與引用
● 結構體與函式
● 結構體陣列
● 指向結構體的指標
● 共用體的定義與引用
實驗步驟
讀懂並輸入程式,完成填空後輸出結果
1. 建立學習成績單結構,並建立乙個同學王林(wanglin)的記錄。
#include <>main() ;
struct 【 】 wanglin; /* 說明結構體變數 */
printf("please input the number, name, math, english:\n");
scanf("%d,%d,%dwanglin. name,【 】&
printf("wanglin 'grade is: %d/%d/%d\n", wanglin. number,
}程式執行過程與結果:
please input the number, name, math, english::
26,a, 85,90
wanglin ' grade is
#include <>
main()
;struct grade wanglin; /* 說明結構體變數 */
printf("please input the number, name, math, english:\n");
scanf("%d,%c,%d,%d",&wanglin. number,& wanglin. name,& wanglin. math,&
printf("wanglin 'grade is: %d/%c/%d/%d\n", wanglin. number,
}please input the number, name, math, english:
26,a,85,90
wanglin 'grade is: 26/a/85/90
press any key to continue
請再建立乙個劉芳(liufang)的成績記錄, 比較一下。
2.結構體與函式
main()
fun(nam)
struct
程式執行結果如下:
main()
variable;
'a';
fun(
printf(" a=%d\n",
printf(" b=%d\n",
}fun(nam)
struct
nam定義形參*/
x1=1111
x2=2222
x2=66
a=1111
b=65
press any key to continue
3.結構體陣列
將作業1稍加改動,建立起3個同學的成績單。
#include <>main() ;
struct grade說明結構體陣列, */
printf("please input the number, name, math, english:\n");
for(i=0;i<2;i++)
}#include <>
main()
;struct grade mate[3]; /* 說明結構體陣列, */
int i;
printf("please input the number, name, math, english:\n");
for(i=0;i<3;i++)
}4.指向結構體的指標
用指向結構體的指標引用結構體成員
#include <>
main()
; struct student person1;
struct student *p;
p指向結構體變數*/
'a';
printf("\n");
printf("number:%d\nname: \n",
printf("\nnumber:%d\nname:\n", (*p).num,(*p).nam);
}程式執行結果
#include <>
main()
; struct student person1;
struct student *p;
p=&person1; /*指向結構體變數*/
'a';
printf("\n");
printf("number:%d\nname:%c \n",
printf("\nnumber:%d\nname:%c\n", (*p).num,(*p).nam);
}number:20001
name:a
number:20001
第十一章結構體與共用體程式設計
實驗時間 2009年6月1日實驗地點 實驗人專業班級 實驗題目 結構體 共用體的設計 實驗目的 通過實驗熟悉結構體 共用體與列舉型別的使用。實驗過程 一 課例 例11.1對結構體變數初始化 main a 單個字元單引號,字串雙引號 printf no.ld nname s n c naddress ...
結構體與共同體
在此之前,除陣列外的基本變數都是屬於非構造型別的資料。陣列是一種構造型別資料。本章介紹另兩種構造型別的資料 結構體和共用體。c語言中的結構體相當於其他高階語言中的 記錄 它可以把多種型別的資料組合在一起,構成乙個整體,一種新型別的資料,從而適應複雜型別資料的要求。1 定義 struct 結構體名 s...
第十一章結構體
第十一章結構體 共用體和使用者定義型別 c語言中的整型 實型 字元型等基本資料型別適合於簡單問題的資料處理,當遇到複雜的資料關係時很難用簡單的資料型別來描述,為此,c語言提供了幾種專門處理複雜資料關係的資料型別,即結構體 共用體和列舉型別。11.1 結構體型別 在前面的章節中,全面地介紹了c語言提供...