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