實驗十一結構體 struct 與共用體 union

2022-08-19 14:24:02 字數 2631 閱讀 3034

實驗目的

理解並掌握使用不同資料型別的變數組合成乙個資料的組合體-結構體與共用體的定義與引用;正確使用結構體陣列、結構體與函式及指向結構體的指標。

要點提示

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語言提供...