C語言結構體定義
C語言中的“結構體”其實就相當於其他高級語言中的“記錄”,結構體的定義方法如下:
例如:
Struct student
{ int num;
char name[20];
char sex;
int age;
float score;
char addr[30];
};(注意最後的分號不能省略)。
其中第一行的“student”是該結構體的名稱,花括號裏面的內容是結構體的成員名,這是聲明結構體的一般形式。也可以在聲明結構體的同時對它進行初始化,例如:
struct stu
{
int num;
char *name;
char sex;
float score;
}pupil[5]={
{101,"Tom",'M',45.8},
{102,"Mike",'M',62.5},
{103,"Chris",'F',92.5},
{104,"Rose",'F',87.6},
{105,"Nate",'M',58.8}
};
該代碼中的“pupil[5]”稱爲結構體數組,它屬於結構體變量,在定義該變量的同時對它進行了初始化操作。我們也可以先聲明結構體,然後再對它進行初始化操作。
例如:
#include
int main()
{
struct student
{
char name[8];
int age;
char sex[4];
char depart[20];
float grade1,grade2,grade3;
}a;
float wage;
char c='Y';
if(c=='Y'||c=='y')
{
printf("nName:");
scanf("%s", );
printf("Age:");
scanf("%d", &);
printf("Sex:");
scanf("%s", );
printf("Dept:");
scanf("%s", rt);
printf("Grade1:");
scanf("%f", &e1);
printf("Grade2:");
scanf("%f", &e2);
printf("Grade3:");
scanf("%f", &e3);
wage=e1+e2+e3;
printf("The sum of wage is %6.2fn", wage);
}
return 0;
}
該程序中定義了一個名爲“student”的結構體,變量名爲“a”,然後再後面“if”包含的`符合語句中對該結構體進行初始化。在此,我們可以看出,對結構體的初始化,只能對它裏面的每個成員分別初始化。
#include
struct stu
{
int num;
char *name;
char sex;
float score;
}pupil[5]={
{101,"Tom",'M',45.8},
{102,"Mike",'M',62.5},
{103,"Chris",'F',92.5},
{104,"Rose",'F',87.6},
{105,"Nate",'M',58.8}
};
void avg(struct stu *ps)
{
int c=0,i;
float ave,s=0;
for(i=0;i<5;i++,ps++)
{
s+=ps->score;
if(ps->score<60) c+=1;
}
printf("s=%.3fn",s);
ave=s/5;
printf("average=%.3fncount=%dn",ave,c);
}
int main()
{
struct stu *ps;
ps=pupil;
avg(ps);
return 0;
}
此程序是關於結構體指針變量作函數參數,這樣可以提高程序的運行效率,程序中我們定義了一個“stu”的結構體,變量名爲“pupil”,並對其進行了初始化,在主函數中定義了一個該結構體的指針ps,將pupil賦值給ps,當函數avg()調用該結構體時,用指針ps來傳遞pupil的地址,從而,提高了該程序的效率。
結構體與指針的結合使用,可以有效的解決現實生活中的很多問題,因此C語言中的指針和結構體應該能夠熟練的掌握。
相關文章
-
C語言結構體、共同體和用戶定義類型
引導語:結構體是由一系列具有相同類型或不同類型的數據構成的數據集合。以下是本站小編分享給大家的C語言結構體、共同體和用戶定義類型,歡迎大家閱讀學習! 1.1 結構體與共用體類型數據的定義方法和引用方法1.結構體類 -
C語言結構體教程
引導語;結構體是由一系列具有相同類型或不同類型的數據構成的數據集合。以下是本站小編分享給大家的C語言結構體教程,歡迎閱讀!一、結構說明和結構變量定義在Turbo C中,結構也是一種數據類型,可以使用結構變量,因此,象 -
計算機二級C語言考點:結構體和共用體
讀書格言讀一本好書,就是和許多高尚的人談話。歌德讀書內容1、名師轉變棘手學生的施教藝術2、綜合實踐課堂教學的有關書籍3、美術課有關的書籍4、名人傳記等勵志書籍5、手工製作等書籍讀書措施1、制定好讀書計劃,確定閱 -
計算機二級C語言知識點結構體和共用體
愛好自己動手可以算是一種美好的傳遞,手工可以點亮我們的田園般美好生活,本站給大家提供各種實用的生活創意、小製作思路,也期待有愛的達人能分享你的經驗!下面爲每一位創意達人精心準備了一篇家居環境中多款風格不同的布 -
C語言學習趣事:關於C語言中複雜類型定義
說到C語言, 很多人都是又愛又恨啊,既感到用C語言給了程序員極大的開放度和自由度,同時又對C語言的靈活性和高難度性。讓我們一起來看看下面這則關於C語言的趣事吧! C語言學習趣事:關於C語言中複雜類型定義就目前中國 -
C語言結構體(struct)常見使用方法
結構體,通俗講就像是打包封裝,把一些變量有共同特徵(比如同屬於某一類事物的屬性)的變量封裝在內部,通過一定方法訪問修改內部變量。下面小編給大家介紹C語言指針用法,歡迎閱讀! C語言結構體(struct)常見使用方法 -
C語言結構體(struct)常見使用方法
結構體,通俗講就像是打包封裝,把一些有共同特徵(比如同屬於某一類事物的屬性,往往是某種業務相關屬性的聚合)的變量封裝在內部,通過一定方法訪問修改內部變量。以下僅供參考!結構體定義:第一種:只有結構體定義[cpp] view plain -
C語言結構體中的函數指針
C語言結構體中的函數指針內容由小編收集整理,希望對您的 學習有所幫助!更多內容請關注應屆畢業生考試網!結構體是由一系列具有相同類型或不同類型的數據構成的數據集合。所以,標準C中的結構體是不允許包含成員函數的,當然C -
C語言複習之結構體基礎知識
團花重在一個團字,作爲摺疊剪紙,它最能體現多次摺疊,重複造型的優勢。主要材料:彩紙 一張所需工具:剪刀 一把製作步驟:第1步:第2步:第3步:第4步:第5步:第6步: -
2017年計算機二級C語言結構體和共用體知識點
引導語:C語言不僅僅是在軟件開發上,而且各類科研都需要用到C語言。以下是本站小編分享給大家的2017年計算機二級C語言結構體和共用體知識點,歡迎閱讀! 【考點1】結構體類型的說明結構體是若干個類型數據的集合,結構體類