結構體中自己常常弄不清的。兩個常用的結構體陣列、結構體指標
將自定義的結構體放入到陣列中方便維護
語法:語法: struct 結構體名 陣列名[元素個數]=,
,...
}
舉例:
struct student
intmain()
,,};
for(
int i =
0; i <
3; i++
)
2、結構體指標
顧名思義就是指向結構體的乙個指標、通過指標訪問結構體中的成員。
注意:一般的結構體中的成員變數,可以直接通過點操作符來訪問。
而對於結構體指標而言:必須通過->符號來訪問指標所指結構體的變數。
/結構體定義
struct student
;int
main()
;//定義了乙個結構體 指標p,並且對它進行初始化
struct student * p =
&stu;
//等號兩邊的資料型別是一樣的,&stu返回的是student型別的位址
p->score =
100;
//指標通過 -> 操作符可以訪問成員
cout <<
"姓名:"
<< p-
>name <<
" 年齡:"
<< p-
>age <<
" 分數:"
<< p-
>score << endl;
system
("pause");
return0;
}
**注意**:宣告乙個結構體指標記得初始化,一定要初始化,不初始化會出事
比如下面
struct student stu =
;//定義了乙個結構體 指標p
struct student * p;
p->score =
100;
//報錯空指標訪問異常,這是因為p這個指標還沒有初始化,因此沒有記憶體空間
//解決:用new申請記憶體空間.
結構體型別 結構體變數 結構體陣列 結構體指標
問題1 一元錢換為1 2 5分的硬幣,有多少種兌換方?本題要點分析及參 對各種可能情況進行一一測試。這是實現迴圈的一種方式 窮舉法 但實際上只有只有餘額才能兌換成其它面值的硬幣 main 注意換行的控制和每列的對齊 問題3 某鐵路線上有10個站,需要準備多少種客票?main b a 0 p prin...
結構體指標和結構體陣列
struct ha 100 b,c 3 d 結構體指標其實是乙個指標,它儲存的是指向某個結構體的 位址 所以結構體指標陣列儲存的其實是指向一組結構體的 位址 陣列,它本身並不包含結構體的具體內容 沒有被分配記憶體 所以當用到他們時,要麼重定向,比如 d b 讓d指向b,d儲存的是b的位址,這樣就能通...
結構體指標陣列
struct h a 100 b,c 3 d a是乙個結構體陣列,已經有100個節點了。不需要再分配空間了。b是乙個結構體變數,也已經有空間了,就和int b 已經有空間了一樣。c是乙個指標陣列,c也已經有空間了,有3個元素,但是這三個元素是還沒有分配空間的指標,所以要用malloc分別為他們分配記...