結構體指針概要

結構體指針

指針當做函數參數

數組當做函數參數

1.結構體指針

指向結構體變量的指針.稱爲結構體指針

Student stu ={0};

Student *p = &stu;

Student  * 結構體指針類型(類型), p結構體指針變量(變量名);

&stu 結構體變量地址(初值)

(*p).sex = ‘m’;

p->sex= ’m’;

(*p)對指針取值後是結構體變量,.sex是訪問成員變量

使用指針可以指向操作符直接訪問結構體成員p->sex

1.結構體指針

結構體指針變量保存的是結構體變量的首地址其本質是結構體第一個成員變量的地址

可以通過結構體指針變量加指向操作符的形式來訪問每一個成員變量

對於結構體而言,定義的結構體所佔的字節數,不僅與其成員的數據類型有關,也與成員順序有關,順序不同所佔的空間大小也可能不同.

對於指針變量而言,自增運算;指針每一次偏移一個對應數據類型所佔的字節數,取內容運算符操作時,也是根據指針變量所保存的 地址和指針變量的數據類型來決定從什麼地址開始到多少個字節結束,這個內存範圍內的數據。也是指針變量本質是保存一個存儲區域的首地址的原因。結構體數組 的數組名是一個結構體指針常量。

結構體內包含指針

在定義結構體的時候,可以使用指針變量作爲結構體成員,但是一定要防止結構體類型的變量在定義時,與指針變量所對應的數據是常量,如果是常量,則對其修改時會崩潰。

2.指針當作函數參數

指針可以當作函數參數

包括:一般指針作爲函數參數,數組當作函數參數,結構體指針當作函數參數

傳值和傳址

所謂傳值就是把實參的值傳遞給形參。

所謂傳址,我們有時候需要改變實參的值,這時就需要傳地址。

把地址當做函數參數傳入函數。

3.數組當做函數參數

數組當作函數參數,形參僅代表數組的首地址,我們需要傳入數組元素個數。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章