C語言基礎 指標陣列(指向陣列的指標)

2021-08-21 17:28:35 字數 699 閱讀 7438

陣列(array)是一系列具有相同型別的資料的集合,每乙份資料叫做乙個陣列元素(element)。陣列中的所有元素在記憶體中是連續排列的,整個陣列占用的是一塊記憶體。定義陣列時,一定要給出陣列名,陣列名可以認為是乙個指標,它指向陣列的第 0 個元素。在c語言中,我們將第 0 個元素的位址稱為陣列的首位址。雖然可以認為是乙個指標,但你在定義時千萬別再陣列變數名前面加 * ,否者這就不是乙個常規的陣列了,而是指標陣列,裡面的所有元素都是指標。

#includevoid main();

這裡的變數名arr裡面存放的有該陣列的第乙個資料的位址也就是arr[0]的位址值

所以可以認為arr就是該陣列的指標

int *p=arr;

int *arr=;

}

常規遍歷陣列和指標遍歷陣列:

#includevoid main();

int len = sizeof(arr);

for(int i=0;i當然,你還可以通過指標來直接修改陣列的元素的值。但是你不可能通過像指標修改基本型別的變數的資料內容那樣去修改陣列變數arr的位址值。

#includevoid main();

int *p_arr = arr;

arr = *p_arr+1;這種操作是不允許的,因為arr指向的是乙個陣列而不是乙個基本資料型別

}

c語言之指標(指向陣列元素的指標與指向陣列的指標)

指向陣列元素的指標 include define m 3 main int s m i,j void max int p1,int p2 printf matrix a n for i 0 ifor j 0 j printf 4d a i j printf n max s,a 0 必須為實參必須a ...

C 指標2 指向陣列的指標和指標陣列

7.4指向陣列元素的指標 宣告與賦值 例 int a 10 pa pa a 0 或 pa a p1 通過指標引用陣列元素,經過上述宣告及賦值後 pa就是a 0 pa 1 就是a 1 pa i 就是a i a i pa i a i pa i 都是等效的。不能寫 a 不能給陣列名賦值或者試圖改變其值,因...

C語言指向多維陣列的指標

設有整型二維陣列a 3 4 如下 0 1 2 3 4 5 6 7 8 9 10 11 它的定義為 int a 3 4 設陣列a的首位址為1000,各下標變數的首位址及其值如圖所示。前面介紹過,c語言允許把乙個二維陣列分解為多個一維陣列來處理。因此陣列a可分解為三個一維陣列,即a 0 a 1 a 2 ...