《零基础看得懂的C++入门教程 》——(9)结构体原来如此
一、學(xué)習(xí)目標(biāo)
目錄
預(yù)備第一篇,使用軟件介紹在這一篇,C++與C使用的軟件是一樣的,查看這篇即可:《軟件介紹》
想了解編譯原理和學(xué)習(xí)方法點(diǎn)這篇,學(xué)習(xí)方法和一些原理C++與C都是相同的《脫離學(xué)習(xí)誤區(qū)》
《零基礎(chǔ)看得懂的C++入門教程 》——(1)第一個(gè)C++程序就讓你知其所以然
《零基礎(chǔ)看得懂的C++入門教程 》——(2)什么是數(shù)據(jù)類型、變量?一看便會(huì)
《零基礎(chǔ)看得懂的C++入門教程 》——(3)表達(dá)式花樣挺多鴨
《零基礎(chǔ)看得懂的C++入門教程 》——(4)條件判斷原來(lái)如此
《零基礎(chǔ)看得懂的C++入門教程 》——(5) 容我套個(gè)娃 循環(huán)
《零基礎(chǔ)看得懂的C++入門教程 》——(6)自己動(dòng)手寫個(gè)函數(shù)
《零基礎(chǔ)看得懂的C++入門教程 》——(7)小數(shù)組玩起來(lái)
《零基礎(chǔ)看得懂的C++入門教程 》——(8)搞定二維數(shù)組與循環(huán)嵌套
推薦
歡迎大家關(guān)注公眾號(hào),公眾號(hào)每滿1024及1024倍數(shù)則會(huì)抽獎(jiǎng)贈(zèng)送機(jī)械鍵盤一份+IT書籍2份喲~
二、了解結(jié)構(gòu)體的使用方法
2.1 什么是C++語(yǔ)言結(jié)構(gòu)體
在學(xué)習(xí)C++語(yǔ)言結(jié)構(gòu)體前我們需要知道C++語(yǔ)言結(jié)構(gòu)體是什么東西,形式是如何的,它的核心的組成思想是什么。
結(jié)構(gòu)體簡(jiǎn)單的來(lái)說是一個(gè)數(shù)據(jù)的類型,跟int整型、char字符型類型一樣,都是一種數(shù)據(jù)類型,在此別糾結(jié)它具體是什么,畢竟還沒深入學(xué),在此只要知道它也是數(shù)據(jù)類型即可。結(jié)構(gòu)體是一種數(shù)據(jù)類型但它與int整型、char字符型數(shù)據(jù)不同之處是需要我們自己編寫它的一個(gè)數(shù)據(jù)結(jié)構(gòu)(這個(gè)數(shù)據(jù)結(jié)構(gòu)是單純意義上的數(shù)據(jù)組成)。結(jié)構(gòu)體是有多個(gè)或其它數(shù)量的數(shù)據(jù)類型組成的一種結(jié)構(gòu),其它數(shù)量的數(shù)據(jù)類型可以是整形、字符型等。
由上所述我們可以知道,結(jié)構(gòu)體是一個(gè)變量,但是這個(gè)變量需要我們自己去編寫它的數(shù)據(jù)構(gòu)成,這些數(shù)據(jù)構(gòu)成是一些數(shù)據(jù)類型的變量。
我們看一下結(jié)構(gòu)體示例:
struct human{int age;char sex;char name; } ;結(jié)構(gòu)體使用struct 進(jìn)行聲明,struct 后接的一對(duì)花括號(hào),花括號(hào)中編寫這個(gè)結(jié)構(gòu)體所包含的變量有哪些,并且使用分號(hào)表示結(jié)構(gòu)體內(nèi)變量的結(jié)束;在struct之后花括號(hào)之前為結(jié)構(gòu)體名,結(jié)構(gòu)體名與變量名類似。
以上的結(jié)構(gòu)體所包含的變量有整形變量age,字符變量sex以及字符變量name,名稱為human;結(jié)構(gòu)體我們可以看為是一個(gè)類別,該類別的組成元素有哪些。
以上結(jié)構(gòu)體名為human中文譯為人類,那么一個(gè)人有哪些屬性呢?首先有年齡是一個(gè)整數(shù)數(shù)據(jù),所以我在結(jié)構(gòu)體中編寫一個(gè)整數(shù)類型的變量age;人類還有性別,我在human結(jié)構(gòu)體中使用sex表示說明并且也定義了一個(gè)char類型的變量name用于存儲(chǔ)人類的名稱代號(hào)。從以上所述可以很清楚的知道當(dāng)前結(jié)構(gòu)體human的一個(gè)組成。
注意:花括號(hào)末尾需要分號(hào)表示結(jié)束。
2.2 結(jié)構(gòu)體的使用
在以上內(nèi)容中重點(diǎn)強(qiáng)調(diào)了結(jié)構(gòu)體是一個(gè)類型,那么一個(gè)類型的變量如何進(jìn)行聲明創(chuàng)建?例如int類型定義一個(gè)變量a為 int a;,那么結(jié)構(gòu)體就可以寫成 結(jié)構(gòu)體名 變量;,這樣寫是錯(cuò)的,必須在結(jié)構(gòu)體名前添加一個(gè) struct關(guān)鍵字,表示接下來(lái)我所聲明的變量為結(jié)構(gòu)體: struct 結(jié)構(gòu)體名 變量;。代碼示例為:
以上示例中定義了一個(gè)名為human的結(jié)構(gòu)體,隨后根據(jù)這個(gè)結(jié)構(gòu)體創(chuàng)建了一個(gè)xiaoming的結(jié)構(gòu)體變量。
創(chuàng)建完結(jié)構(gòu)體變量后我們需要對(duì)這個(gè)結(jié)構(gòu)體變量進(jìn)行賦值,賦值使用點(diǎn)運(yùn)算符“.”,可以將這個(gè)點(diǎn)當(dāng)作“的”使用。例如我需要為xiaoming增加一個(gè)年齡,那么就可以使用xiaoming后接一個(gè)點(diǎn),表示小明的什么元素要賦值多少,可以寫成:
同樣,其它的元素都可以這樣去進(jìn)行賦值,我們稱這些元素為成員變量。其它成員變量的賦值:
xiaoming.sex='T'; xiaoming.name='M';在此我賦值性別為男,用T表示,小明的名字用M表示。
那賦值完畢后如何進(jìn)行取值呢?取值的方式很簡(jiǎn)單,也是使用點(diǎn)運(yùn)算符:
我們賦值完畢后輸出內(nèi)容查看一下是否成功:
#include<iostream> using namespace std; int main(){struct human{int age;char sex;char name;} ;struct human xiaoming; xiaoming.age=10;xiaoming.sex='T';xiaoming.name='M';cout<< " age 為:"<<xiaoming.age<<endl;cout<< " age 為:"<<xiaoming.sex<<endl;cout<< " age 為:"<<xiaoming.name<<endl; }運(yùn)行結(jié)果如下:
結(jié)構(gòu)體也可以直接在編寫的時(shí)候直接創(chuàng)建結(jié)構(gòu)體變量:
struct human{int age;char sex;char name;} xiaoming;以上代碼中直接在結(jié)構(gòu)體末尾花括號(hào)之后,結(jié)束分號(hào)前創(chuàng)建了一個(gè)結(jié)構(gòu)體變量,整體代碼:
#include<iostream> using namespace std; int main(){struct human{int age;char sex;char name;} xiaoming;xiaoming.age=10;xiaoming.sex='T';xiaoming.name='M';cout<< " age 為:"<<xiaoming.age<<endl;cout<< " sex為:"<<xiaoming.sex<<endl;cout<< " name為:"<<xiaoming.name<<endl; }運(yùn)行結(jié)果均為一致,也可以創(chuàng)建多個(gè)結(jié)構(gòu)體變量:
#include<iostream> using namespace std; int main(){struct human{int age;char sex;char name;} xiaoming,xiaohong;xiaoming.age=10;xiaoming.sex='T';xiaoming.name='M';xiaohong.age=11;xiaohong.sex='M';xiaohong.name='H';cout<< " age 為:"<<xiaohong.age<<endl;cout<< " age 為:"<<xiaohong.sex<<endl;cout<< " age 為:"<<xiaohong.name<<endl; }運(yùn)行結(jié)果為:
也可以在直接創(chuàng)建結(jié)構(gòu)體變量的時(shí)候賦值:
struct human{int age;char sex;char name;} xiaoming={10,'T','M'},xiaohong;賦值在變量名后使用一個(gè)等于號(hào),值使用一對(duì)花括號(hào),花括號(hào)內(nèi)編寫不同的值,并且用逗號(hào)進(jìn)行分隔;也可以同時(shí)賦值2個(gè)結(jié)構(gòu)體變量:
struct human{int age;char sex;char name;} xiaoming={10,'T','M'},xiaohong={1,'M','H'};整體代碼為:
#include<iostream> using namespace std; int main(){struct human{int age;char sex;char name;} xiaoming={10,'T','M'},xiaohong={1,'M','H'};cout<< " age 為:"<<xiaoming.age<<endl;cout<< " sex 為:"<<xiaoming.sex<<endl;cout<< " name 為:"<<xiaoming.name<<endl;cout<< " age 為:"<<xiaohong.age<<endl;cout<< " sex 為:"<<xiaohong.sex<<endl;cout<< " name 為:"<<xiaohong.name<<endl; }運(yùn)行結(jié)果為:
三、總結(jié)
總結(jié)
以上是生活随笔為你收集整理的《零基础看得懂的C++入门教程 》——(9)结构体原来如此的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《零基础看得懂的C++入门教程 》——(
- 下一篇: 《零基础看得懂的C++入门教程 》——(