C 陣列名與指標的區別

2021-08-11 05:15:35 字數 434 閱讀 7235

在很多情況下,陣列名和指標可以用相同的方法使用,但二者也有不同之處。

區別一:

指標的值可以修改,而陣列名是常量。

pointer_name = pointer_name + 1; // allowed

array_name = array_name + 1; // not allowed

區別二:

對陣列名應用sizeof運算得到的是整個陣列的長度,而對指標使用sizeof運算子得到的是指標的長度。

double numbers[3] = ;

double* pn = numbers;

a = sizeof(numbers);

b = sizeof(pn);

a的值是24,而b的值為4。

陣列名與指標區別

1 陣列名的內涵在於其指代實體是一種資料結構,這種資料結構就是陣列 2 陣列名的外延在於其可以轉換為指向其指代實體的指標,而且是乙個指標常量 3 指向陣列的指標則是另外一種變數型別 在win32平台下,長度為4 僅僅意味著陣列的存放位址!1 陣列名指代一種資料結構 陣列 現在可以解釋為什麼第1個程式...

陣列名與指標區別

魔幻陣列名 include int main int argc,char argv 1 陣列名不是指標 我們先來推翻 陣列名就是指標 的說法,用反證法。證明 陣列名不是指標 假設 陣列名是指標 則 pstr和str都是指標 因為 在win32平台下,指標長度為4 所以 第6行和第7行的輸出都應該為4...

陣列名與指標區別

魔幻陣列名 include int main int argc,char argv 1 陣列名不是指標 我們先來推翻 陣列名就是指標 的說法,用反證法。證明 陣列名不是指標 假設 陣列名是指標 則 pstr和str都是指標 因為 在win32平台下,指標長度為4 所以 第6行和第7行的輸出都應該為4...