一.指標陣列
1.簡介
簡介:本質是乙個陣列,但是裡面存放的資料都是指標,即陣列元素都是指標。它是
「儲存指標的陣列」的簡稱。
2.內容格式
資料型別 * 陣列名[元素個數];
例如:int a[4];
「「的優先順序比我們的」"的優先順序高,所以與我們的4先結合,形成了我們的陣列的定義,
陣列名叫做a,我們平時定義陣列的格式如下:
int b[10];
------>陣列名b
------>陣列裡面元素的型別 int 型別
而指標陣列 a
int * a[10];
---->陣列名a
---->陣列裡面儲存的元素的型別是int *型
那麼我們清楚了,這是a乙個陣列,只不過是陣列中包含了10個指向int型別資料的指標,及指標陣列。
思考:如何儲存指標陣列的首位址
定義二級指標變數[實際上等價於儲存的是第乙個一級指標變數的位址]
經驗:一般會在指標陣列的最後乙個元素寫上null
int *p_arry = ;
如下圖:
3.**詳解
#include
intmain()
;int i =0;
int*p[5]
;//指標陣列,儲存了5個int型別的指標變數
for(i =
0; i <
5; i++
)//賦值後,指標陣列中存放的
// p表示一級指標,p_arry[0]表示取a中a[0]的位址
// 故用一級指標儲存
p = p_arry[0]
;// 指標陣列的首位址用二級指標來儲存
q = p_arry;
printf
("p:%s\n"
, p)
;printf
("*q: %s\n"
,*q)
;printf
("********************===\n");
//通過指標陣列列印字串
for(q = p_arry;
*q !=
null
; q++
)printf
("********************===\n");
//通過一級指標來列印
for(q = p_arry;
*q !=
null
; q++
)printf
("********************====\n");
//通過二級指標變數來列印
c語言之陣列指標
在c語言裡,陣列就是指標,指標就是陣列,一維指標就是一維陣列,二維指標就是二維陣列。陣列名就是陣列的首位址,所以形參是陣列的時候,必須把陣列的個數也帶過去 陣列一般通過下標訪問,下標偏移就是位址偏移。可以把一級指標指向一維陣列的首位址。除此之外,指標比陣列更為靈活。陣列在定義的時候必須指定長度個數,...
C語言之指標陣列
指標數值是什麼,有什麼用?通俗的講,指標變數和普通變數的理解差不多,只不過是指標變數儲存的是變數的位址,而普通變數儲存的是值。指標在什麼時候會使用到 傳遞和偏移兩個環節中 使用指標應該注意的事項 使用指標之前應該對其初始化 初始化已經宣告的位址 指標不能賦值具體值 指標所代表的是位址,而不是具體值 ...
c語言之指標與陣列
考慮該例子 int calendar 12 31 該語句宣告了calendar是乙個陣列,該陣列擁有12個陣列元素,其中每個元素都是乙個擁有31個整型元素的陣列 而不是反過來理解 因此,sizeof calendar 的值是12 31 372與sizeof int 的乘積。如果calendar不是用...