日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

对C语言 结构体 和 结构变量

發(fā)布時間:2025/10/17 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 对C语言 结构体 和 结构变量 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、結(jié)構(gòu)體/結(jié)構(gòu)的引入

在學(xué)生的登錄記錄表中,姓名應(yīng)該為字符型、學(xué)號可以為整形或字符型,年齡應(yīng)該為整形,性別應(yīng)該為字符型,成績可以整形或?qū)嵭汀o@然不能用一個數(shù)組來存放這一組數(shù)據(jù),因為數(shù)組各元素的類型和元素都必須一致。

二、定義結(jié)構(gòu)

為了定義結(jié)構(gòu),必須用struct語句。struct語句定義了一個包含多個成員的新的數(shù)據(jù)類型。

Struct 結(jié)構(gòu)名 { 成員列表; }變量名列表;Struct stu { Int num; Char name[20]; Char sex; Float score; }boy1,boy2;

三、定義結(jié)構(gòu)變量的三種方式

1.先定義結(jié)構(gòu),再說明結(jié)構(gòu)變量 struct stu { int num; char name[20]; int age; }; struct stu boy1,boy2;例如: #define STU struct stu STU { int num; char name[20]; int age; }; STU boy1,boy2; 2.在定義結(jié)構(gòu)類型的同時說明結(jié)構(gòu)變量。 struct stu { int num; char name[20]; int age; }boy1,boy2; 3.直接說明結(jié)構(gòu)變量 struct { int num; char name[20]; int age; }boy1,boy2;?

四、結(jié)構(gòu)體嵌套

首先定義一個date,由month(月),day(日),year(年)三個成員組成。在定義并說明變量boy1和boy2時,其中的成員birthday被說明為date結(jié)構(gòu)類型。成員名可以與其他的變量同名,互不干擾。

Struct date{Int month;Int day;Int year;};Struct {Int num;Char name[20];Char sex;Struct date birthday;Float score;}boy1,boy2;

Num

Name

Sex

Birthday

score

Month

Day

year

?五、結(jié)構(gòu)變量

? ?5.1 ?結(jié)構(gòu)變量成員的表示方法

在程序中使用結(jié)構(gòu)變量時,往往不把他作為一個整體來使用。

在程序中具有相同類型的結(jié)構(gòu)變量可以相互的賦值,一般結(jié)構(gòu)變量的使用,包括賦值、輸入、輸出、運(yùn)算等都是通過結(jié)構(gòu)變量的成員來實(shí)現(xiàn)的。

結(jié)構(gòu)變量成員的一般形式:

結(jié)構(gòu)變量名.成員名???例如:boy1.num ?即第一個人的學(xué)號。

**如果成員變量本身就是一個結(jié)構(gòu),那么需要逐級找到最低級的成員才能使用

例如:boy1.birthday.month 即第一個人出生的月份。

? ?5.2 ?結(jié)構(gòu)變量的賦值

結(jié)構(gòu)變量的賦值就是給各個成員賦值,可以用輸入語句或者賦值語句來完成。

/*

本程序中用賦值語句給num和name兩個成員賦值,name是一個字符串常量。用sacanf函數(shù)動態(tài)的輸入sex和score成員值,然后就把boy1的所有的成員的值整體賦值于boy2。最后分別輸出boy2的各個成員值,

本示例表示了結(jié)構(gòu)變量的賦值,輸入和輸出狀態(tài)。

*/

#include<stdio.h> #include<string.h> #include<stdlib.h> int main(int argc,char **argv) {struct stu {int num;char name[20];char sex[20];float score;}boy1,boy2;boy1.num = 102;strcpy(boy1.name,"shi wen jie");printf("please input sex and score:\n");scanf("%s %f",boy1.sex,&boy1.score);boy2 = boy1;printf("num\tname\t\tsex\tscore\n");printf("num=%d\tname=%s\tsex=%s\tscore=%f\n",boy2.num,boy2.name,boy2.sex,boy2.score);return 0; }

? ?5.3 ?結(jié)構(gòu)變量的初始化

和其他類型的變量一樣,對結(jié)構(gòu)變量可以在定義時進(jìn)行初始化賦值。

#include<stdio.h> int main(int argc,char **argv) {struct stu{int num;char *name;char sex[20]; //或者是char *sex;float score;}boy2,boy1 = {102,"shi wen jie","nan",65.7};boy2 = boy1;printf("num\tname\tsex\tscore\n");printf("num=%d\tname=%s\tsex=%s\tscore=%f\n",boy2.num,boy2.name,boy2.sex,boy2.score); }

總結(jié)

以上是生活随笔為你收集整理的对C语言 结构体 和 结构变量的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。