C語言 指標與陣列的詳解及區別

2022-10-04 01:21:12 字數 1152 閱讀 6665

c語言 指標與陣列的詳解及對比

通俗理解陣列指標和指標陣列

陣列指標:

eg:int( *arr)[10];

陣列指標通俗理解就是這個陣列作為指標,指向某乙個變數。

指標陣列:

eg:int*arr[10];

指標陣列簡言之就是存放指標的陣列

——陣列並非指標&&指標並非陣列

(1)定義乙個外部變數:

eg:int value=10; int *p=&value;

舉例:當需要在乙個函式中用這個變數時:externa int*p;而非extern int p;

分析:當用:extern int p;這樣的形式時,其實是:由於在定義這個變數的時候,是作為乙個指標而定義的,則p指向的是 value的位址,當p當做乙個陣列被引入是,它其實存放的是value的位址,而並非指向value,導致呼叫出現錯誤。

(2)定義乙個外部變數:

eg:int arr[10]=;

舉例:當需要在函式中引入這個外部變數時:extern int arr[10];而非extern int *arr;

分析:當用extern int *arr;這樣的方式進行引入是,實際上這樣是不對的,在定義這個變數的時候是作為乙個整形陣列來定義的,但是在宣告的時候是用指標來宣告的,通過陣列宣告可以訪問到整個陣列,但是通過指標實際上宣告的指標並非指向陣列,而是指向arr[10]陣列中首元素arr[0]位址的指標,導致訪問出現問題。

——二維陣列與指標的關係

&nbs程式設計客棧p;   &n  定義乙個二維陣列arr[3][3],由於二維陣列在記憶體中也是按照順序儲存,而並非我們所認為的按照矩陣形式儲存的。所以,arr[3]其實就相當與乙個陣列指標;指向arr[0][0],arr[1][0],arr[2][0].

____陣列與指標的其他區別

(1) 指標儲存的是資料的位址;

陣列是用來儲存資料的。

(2)指標訪問資料是通過資料的位址進行解引用,間接訪問的;

陣列訪問資料是直接的。

(3)指標通常用於動態資料結構;

www.cppcns.com        陣列用於存放固定數目而且型別相同的資料。

(4)指標通常指向匿名資料;

陣列通常存放已知的。

本文標題: c語言 指標與陣列的詳解及區別

本文位址:

C語言 陣列指標詳解,區別於指標陣列。

題意 使用指標 p 和prt 表示a 1 2 include include include include using namespace std int main int prt 3 a 不等於 prt 4 意義不同,用法相同 int t 4 指標陣列,即宣告了4個指標,要for迴圈初始化分別指...

C語言 陣列指標與指標陣列區別

陣列指標 也稱行指標 int p n 優先及高,首先說明p是乙個指標,指向乙個整型的一維陣列,這個一維陣列的長度是n,也可以說是p的步長。也就是說執行p 1時,p要跨過n個整型資料的長度。int a 3 2 int p 2 p a p 該語句執行後,也就是p p 1,p跨過a 0 指向了a 1 所以...

C語言指標與陣列詳解

指標與陣列是 c 語言中很重要的兩個概念,它們之間有著密切的關係,利用這種 關係,可以增強處理陣列的靈活性,加快執行速度,本文著重討論指標與陣列之 間的聯絡及在程式設計中的應用。1 指標與陣列的關係 當乙個指標變數被初始化成陣列名時,就說該指標變數指向了陣列。如 char str 20 ptr pt...