c c結構體陣列 結構體指標

2021-10-10 06:53:38 字數 1180 閱讀 5559

結構體中自己常常弄不清的。兩個常用的結構體陣列、結構體指標

將自定義的結構體放入到陣列中方便維護

語法:語法: 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分別為他們分配記...