C語言 陣列和指標

2022-07-04 16:42:16 字數 1222 閱讀 6012

c語言 陣列和指標

const:

關於指標和const需要注意一些規則。首先,把const資料或非const資料的位址初始化為指向const的指標或為其賦值是合法的。

然而,只能把非const資料的位址賦給普通指標。(即const的值不能賦給普通指標);

指標和多維陣列:

zippo == &zippo[0];

zippo+2 == &zippo[2];

*(zippo+2) == &zippo[2][0];

*(zippo+2) + 1 == &zippo[2][1];

*(*(zippo+2) + 1) == zippo[2][1];

指向多維陣列的指標:

int (* pz)[2];  >> pz指向乙個內含兩個int型別的陣列;

(如: zippo[4][2];)

int * pax[2];  >> pax 是乙個內含兩個指標元素的陣列 , 每個元素都指向int的指標;

(差不多和陣列的意思一樣,就是宣告了兩個指標,乙個是pax[0],另乙個是pax[1])

(如pax [0] = zippo; pax[1] = zippp;  >> *pax[0] == *pax[1];)

陣列變數是const的指標 , 所以不能被賦值 :

int a <==> int * const a =….

陣列變數本身表達位址 , 所以 :

int a[10]; int * p = a; // 無需用 & 取位址

但是陣列的單元表達是變數 , 需要用 & 取位址

a == &a[0]

[ ]運算子可以對陣列做 , 也可以對指標做 :

p[0] <==> a[0];

*運算子可以對指標做 , 也可以對陣列做 :

*a = 25;

C語言 指標陣列和指標陣列

本質是陣列 只不過呢,它裡面存放的資料型別不是int,也不是char這類基本型別,而是乙個指標型別,說白了就是位址,所以叫指標陣列!記住 是存放指標的陣列!int p n 本質是指標 只不過是指向乙個陣列的指標,也稱之為 行指標 int p n p是乙個指標,指向乙個int型別的一位陣列,這個一位陣...

C語言陣列和指標

1.陣列和指標的宣告 1.指向整數的指標宣告 int x 2.整數陣列宣告 int y 2.如果把int mango 100 用int mango來使用,就會發生型別不匹配錯誤 乙個是指標,乙個數陣列名 3.宣告和定義 1.定義只能進行一次,只能出現在乙個地方。定義相當於特殊的宣告,它為物件分配記憶...

c語言 陣列和指標

指標可以理解為乙個變數,是乙個專門用來存放位址的變數。int ptr null 整型指標,內容為空。char ptr null char型指標,內容為空。float ptr null 浮點型指標,內容為空。可如下使用 int a 10 int ptr a char指標解引用只能訪問乙個位元組大小,而...