C語言之指標陣列

2021-10-25 05:21:14 字數 2089 閱讀 4021

一.指標陣列

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不是用...