陣列名加取位址符的理解

2021-09-18 06:13:18 字數 534 閱讀 6892

---------------------------------------------

-- 建立人:ruo_xiao

---------------------------------------------

double data[100] , data有兩個含義,乙個是代表著data這個陣列第乙個位置的位址,也就是data[0]的位址。可以說data就等價於&data[0]。還有一種意思就是data整個陣列。&data就是整個陣列的首位址。所以data和&data取得的位址是相同的。下面舉乙個簡單的例子:

#include using namespace std;

int _tmain(int argc, _tchar* ar**)

{ double data[100];

double **p = (double **)(void **)&data;

cout<

(saw:game over!)

陣列名和陣列名取位址

在c中,在幾乎所有使用陣列的表示式中,陣列名的值是個指標常量 也就是陣列第乙個元素的位址。它的型別取決於陣列元素的型別 如果它們是int型別,那麼陣列名的型別就是 指向int的常量指標 在以下兩種場合下,陣列名並不是用指標常量來表示,就是當陣列名作為sizeof操作符和單目操作符 的運算元時。siz...

陣列名和陣列名取位址

1 int a 10 2 int p a 3 int q 10 a 第二個為指向陣列的指標.a只是a 0 的位址,a 1就是a 1 的位址了,a是整個a 10 的首位址,是以整個陣列為角度來看,雖然它與a 0 的值相同,但是 a 1就已經增加了10個int型別的位元組的長度了.1 include 2...

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

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