這是最有可能的,讀者有可能不理解本章內容直到學相關c++指標的章節學習。
因此,假如有c++指標位的理解,那麼陣列名是乙個常量指標陣列的第乙個元素。因此,在宣告:
doublebalance[50
];
double*p它是合法的使用陣列名作為常量指標,反之亦然。因此, *(balance + 4)是訪問balance[4]資料的另一種合法方法。;double
balance[10
];p
=balance
;
一旦儲存第乙個元素的位址在p上,就可以使用 *p, *(p+1), *(p+2) 等訪問陣列元素。下面是該例子,以顯示所有上面討論的概念:
#include讓我們編譯和執行上面的程式,這將產生以下結果:using
namespace
std;
intmain ();
double*p
;p =balance
;// output each array element's value
cout
<<
"array values using yiibaier "
<<
endl
;for
(inti =
0;i <5;
i++)cout
<<
"array values using balance as address "
<<
endl
;for
(inti =
0;i <5;
i++)return0;
}
array在上述的例子中,p是乙個指標指向double,這意味著它可以儲存double型別的變數的位址。一旦我們有了p的位址,*p可在儲存在p上的位址,如上述的例子。values
using
yiibaier
*(p +0
):1000
*(p +1
):2*(
p +2)
:3.4
*(p +3
):17*(p +
4):50
array
values
using
balance
asaddress
*(balance +0
):1000
*(balance +1
):2*(
balance +2
):3.4*(
balance +3
):17*(
balance +4
):50
C語言學習筆記 指標 指標陣列與陣列指標
指標陣列 是乙個陣列,陣列元素為指標 陣列指標 是乙個指標,指向陣列的指標 例如 int p1 5 int p2 5 對於語句int p1 5 因為 的優先順序要比 要高,所以 p1 先與 結合,構成乙個陣列的定義,陣列名為 p1,而 int 修飾的是陣列的內容,即陣列的每個元素。也就是說,該陣列包...
C 筆記 C 陣列指標和指標陣列
char p 10 為陣列指標,實際上相當於二維陣列,也就是指向乙個一維陣列的指標 p可以單獨看做指向陣列的指標 比如這樣 int b 2 int cc 2 2 1,2 3,4b cc b cout 這樣的賦值是可以的,b指向的陣列的大小一定要和cc的第一維陣列大小一致,這裡輸出,4,因為b 這個時...
C 學習筆記4 陣列與指標
陣列和指標 1.int pi 0 pi不指向任何物件。指標最好應初始化,如果須分開定義指標和其所指向的物件,則將指標初始化為0.2.把int型變數賦給指標是非法的,儘管此int型變數的值可能為0.但允許把數值0或在編譯中可獲得0值的const量賦給指標。3.如果把指向const的指標理解為 自以為指...