什么是結構體指針數組?
之前我們講過一些復雜的類型聲明,不過那些都是為了應付筆試面試,在實際的應用中并不常見。
結構體指針數組也比較復雜,但是在項目中經常能看到。
struct Test { int a; char ch; };
首先得有一個結構體,假設結構體有兩個成員,一個整型,一個字符,在內存中占 8 個字節。
structTestt; struct Test *p = &t;
結構體的地址我們一般取最前面的字節地址,如果想保存這個地址,就得用 struct Test * 類型的變量,這個變量就是結構體指針。
通過結構體指針訪問結構體成員,使用這個符號。
如果我們創建了多個結構體,那就會得到多個結構體變量的地址。
struct Test t1; structTestt2; structTestt3; structTestt4; structTest*array[4]={&t1,&t2,&t3,&t4};
想要把這些地址全部保存下來,可以考慮使用數組,這樣的數組,就是結構體指針數組。
其實也很好理解,數組里面保存了多個指針,每個指針都指向一個結構體。
如果通過數組名去訪問某個結構體的某個成員,先取出地址,再通過地址訪問。
學習指針,畫圖是個很好的方法,搞清楚了內存的關系,再去寫代碼就會容易的多。
-
指針
+關注
關注
1文章
484瀏覽量
70910 -
數組
+關注
關注
1文章
419瀏覽量
26296 -
結構體
+關注
關注
1文章
130瀏覽量
11005
原文標題:結構體指針數組
文章出處:【微信號:學益得智能硬件,微信公眾號:學益得智能硬件】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
controlSUITE中例子代碼不理解
單片機的結構體和指針等資料說明

Keil使用結構體數組的奇怪問題

評論