結構體巢狀指標應注意的問題

2021-07-10 07:43:02 字數 750 閱讀 3196

在c語言中記憶體的開闢和**是乙個很重要的問題,但是如果在程式設計中使用到結構體型別就顯得更為重要了,但是如果結構體中有巢狀了指標就變得更加更加的重要了,看起來這是乙個很小的點,但是這也是乙個很容易被忽略的點,下面就以案例說話

struct student

stu;

第一沒有開闢空間

int main(void)

結果如圖

原因是沒有為name指明其所指向的空間,其就是乙個無效的指標。

第二 開闢了結構空間的

int main(void)

結果如圖

因為此看似一開闢了空間,但是沒有為name指標開闢空間,其一樣是乙個無效的沒有明確指向的指標。

第三為指標開闢空間

int main(void)

結果如下

這樣就不會報出段錯誤了,但是在free空間時不要忘記先把name指向的空間先free掉哦。

使用指標應注意的問題

使用指標應注意的問題 1.錯誤的對乙個未初始化的指標進行解引用,2.錯誤的對乙個null 指標進行解引用。解引用乙個 null 指標的結果因編譯器而異,允許程式在這樣的訪問之後還可以繼續進行的原因可能是這個程式可能沒有正確的執行。3.向函式錯誤的傳遞空指標 4.指標減去乙個整數,結果產生的指標所指向...

結構體的巢狀問題

結構體的自引用 self reference 就是在結構體內部,包含指向自身型別結構體的指標。結構體的相互引用 mutual reference 就是說在多個結構體中,都包含指向其他結構體的指標。1.1不使用typedef時 錯誤的方式 struct tag 1 這種宣告是錯誤的,因為這種宣告實際上...

C 結構體指標 使用注意

宣告乙個結構體指標記得初始化,一定要初始化,不初始化會出事 參考 指標的危險 long fellow fellow 23333 上述 中沒有將位址賦給fellow。c 中建立指標時,計算機將分配用來儲存位址的記憶體,但不會分配用來儲存指標多指向的資料的記憶體。警告 一定要在對指標應用 解除引用運算子...