對於C語言中陣列名是指標的理解

2022-01-26 01:13:53 字數 340 閱讀 1494

我們都知道,c語言中陣列名是乙個指標,比如下面這段**

#include

using namespace std;

int main()

;for(int i=0;i<4;i++)

;cout<<"陣列長度"《執行結果為:陣列的長度為16

整形指標的長度為:4

指向整形陣列後指標的長度為:4

問題來了:既然陣列名a是指標,為什麼sizeof(a)和sizeof(p)得到的結果是不一樣的呢?是不是說陣列名不僅僅是指標呢?

我是這樣理解的,陣列名就是指標,而且是個常指標,而sizeof乙個長指標和乙個同型別的指標變數得到的結果是不一樣的。

c語言中陣列名和陣列名取位址理解

1 陣列名是個指標型常量,也就是值不能被改變。指標常量和常量指標區別見本文 char str hello char ch 6 hello ch str 錯誤,常量不能被賦值,正如 1 2,字面值常量1被賦值為2一樣錯誤。char ch 2 定義後,陣列名相當於char const ch 0x.ch就...

C語言中陣列名與 陣列名的區別

include int main void int ptr int a 1 a代表整個陣列的位址,1應該加上sizeof a 的長度,所以ptr指向a 5 位置處。printf d d n a 1 ptr 1 a代表陣列首元素的位址,1應該加上sizeof a 0 所以a 1指向a 1 處。retu...

C語言 陣列名與指標

以下內容 感覺對自己有用,收藏了。如果 請註明如上出處。多謝!看到一篇關於c語言指標的文章,正好最近在看 c和指標 就去看了一下。一道 c 語言指標訪存題目的引申 裡面的第乙個題目就把我難住了。幫助123456789 include int main int pa int a 1 printf x ...