文章目錄提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔
創(chuàng)新互聯(lián)公司專注于懷遠(yuǎn)企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城網(wǎng)站建設(shè)。懷遠(yuǎn)網(wǎng)站建設(shè)公司,為懷遠(yuǎn)等地區(qū)提供建站服務(wù)。全流程按需求定制制作,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
在編程中,有時會出現(xiàn)大量相同類型的數(shù)據(jù),比如說一個班同學(xué)的姓名,年齡還有身高等等,那么一個班那么多同學(xué),就要有大量重復(fù)類型的數(shù)據(jù)代碼,會使得代碼看起來冗長重復(fù),那么,定義一個結(jié)構(gòu)體,把每個同學(xué)的信息放在每個結(jié)構(gòu)體里面,就會大大減少代碼量。
把一些基本類型數(shù)據(jù)組合在一起形成的一個新的復(fù)合數(shù)據(jù)類型,這個叫結(jié)構(gòu)體。
二、使用步驟 1.如果沒有結(jié)構(gòu)體代碼如下:
int main()
{
?? ?int age1 = 12, age2 = 14, age3 = 11, age4 = 16.......age100 = 10;//每個同學(xué)的年齡
?? ?char a1[5] = "張三", a2[5] = "李四", a3[5] = "王五", a4[5] = "趙六"......//每個同學(xué)的姓名
?? ?char b1 = 'F', b2 = 'F', b3 = 'M', b4 = 'M', b5 = 'F'......//每個同學(xué)的性別
?? ?return 0;
}
這樣定義起來很麻煩,耗費了程序員大量時間,并且代碼看起來很冗長繁瑣。
# include# include# includestruct Student//定義了一個數(shù)據(jù)類型,這個數(shù)據(jù)類型叫結(jié)構(gòu)體,注意,結(jié)構(gòu)體不是變量
{
?? ?int age;//每個同學(xué)的年齡
?? ?char name[5];//每個同學(xué)的姓名
?? ?char sex;//每個同學(xué)的性別
};//分號一定不能丟
int main()
{
?? ?struct Student st1 = { 14, "張三", 'M' },//st1是數(shù)據(jù)類型為結(jié)構(gòu)體的變量
? struct Student st2 = { 15, "李四", 'M' },//st2是數(shù)據(jù)類型為結(jié)構(gòu)體的變量
? struct Student st3 = { 13, "王五", 'F' };//st3是數(shù)據(jù)類型為結(jié)構(gòu)體的變量
?? ?//修改結(jié)構(gòu)體變量中的除字符串以外的變量
?? ?//st1.age = 16;
?? ?//st1.sex = 'F';
?? ?//修改結(jié)構(gòu)體變量中的字符串?dāng)?shù)組name
?? ?//struct Student * p = &st1;//首先定義一個指針存儲st1變量的首地址,
//由于st1是結(jié)構(gòu)體類型數(shù)據(jù),所以指針也要定義成結(jié)構(gòu)體類型指針
?? ?//strcpy((*p).name, "小明");//首先要加頭文件來調(diào)用strcpy函數(shù)
//strcpy( A , B )表示把B字符串拷貝到A中,其中B字符串必須是const類型
?? ?//輸出結(jié)構(gòu)體
?? ?printf("%d %s %c\n %d %s %c\n %d %s %c", st1.age, st1.name, st1.sex, st2.age, st2.name, st2.sex, st3.age, st3.name, st3.sex);
?? ?return 0;
}
輸出結(jié)果如下:14 張三 M
15 李四 M
13 王五 F
D:\VS項目\把結(jié)構(gòu)體拆開的冗長代碼\x64\Debug\把結(jié)構(gòu)體拆開的冗長代碼.exe (進程 4952)已退出,代碼為 0。
要在調(diào)試停止時自動關(guān)閉控制臺,請啟用“工具”->“選項”->“調(diào)試”->“調(diào)試停止時自動關(guān)閉控制臺”。
按任意鍵關(guān)閉此窗口. . .
把注釋去掉以后,也就是修改了結(jié)構(gòu)體變量之后
輸出結(jié)果如下:16 小明 F
15 李四 M
13 王五 F
D:\VS項目\把結(jié)構(gòu)體拆開的冗長代碼\x64\Debug\把結(jié)構(gòu)體拆開的冗長代碼.exe (進程 8176)已退出,代碼為 0。
要在調(diào)試停止時自動關(guān)閉控制臺,請啟用“工具”->“選項”->“調(diào)試”->“調(diào)試停止時自動關(guān)閉控制臺”。
按任意鍵關(guān)閉此窗口. . .
1.有了結(jié)構(gòu)體以后,就會大大簡化代碼量,同時也使得代碼看起來更整潔,可讀性更高
2.結(jié)構(gòu)體在學(xué)生管理系統(tǒng)等方面很常見,馬上等我學(xué)了如何敲學(xué)生管理系統(tǒng)代碼后,會在下一個帖子發(fā)出來。
3.修改結(jié)構(gòu)體中字符數(shù)組類型的變量(比如名字),常常會用指針變量和strcpy字符串函數(shù),在修改的時候,可以有兩種類型,一種是代碼中的strcpy((*p).name, "小明");,還有一種是
strcpy(p->name, "小明");,這兩種都可以,都是可以修改名字的。
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
新聞標(biāo)題:關(guān)于完善C語言知識儲備的學(xué)習(xí)--結(jié)構(gòu)體1-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://jinyejixie.com/article38/jegsp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、外貿(mào)建站、自適應(yīng)網(wǎng)站、網(wǎng)頁設(shè)計公司、網(wǎng)站營銷、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容