兩個符號
1、(*星號);2、"&"
1、定義指標
如:int *p;
定義乙個int型的指標,它與定義乙個普通變數是一樣的
如:int a,*p;
所以p是指標變數,a是普通變數,如果用cout輸出到螢幕
則
int a=
120,
*p;p=
&a;std::cout << a<<
"\n"
;std::cout <<
*p<<
"\n"
;
輸出結果都是120
std::cout <"\n"
;
輸出變數a的記憶體位址,
所以*p可以當作乙個普通變數使用,而p只能是它所指向的記憶體位址。
陣列與指標
1、定義乙個陣列
如: int a[4];
該陣列的陣列名:a
該陣列的成員數:4個 a[0]…a[3]
2、陣列與指標的關係
可將陣列名作為指標:
int
*p;p=a;
則
*p=a[0]
*(p+i)
=a[i]
多維陣列與指標
1.定義乙個二維陣列
int a[i]
[j];
如:
int a[3]
[4]=
;
這是乙個三行四列的二維陣列,呼叫方法:如取第2行,第3列整形資料就是a[1][2];
std::cout << a[1]
[2]<<
"\n"
;
輸出777;
2、指標用法與一維陣列相似,
因為是2維陣列所以需要使用雙*(**)表示乙個成員變數的值,**a的含義:a是某乙個指標的指標(二級指標)
因此定義指標時如下:
int a[3]
[4]=
;
注:二級指標變數名:a,**a
指向a[0][0]
,*(*(a+i)+j)
指向陣列a的第i行第j列 C學習 指標
1 指標 a int a 表示乙個記憶體空間,這個空間用來存放乙個整數 int b int a 表示乙個記憶體空間,這個空間用來存放乙個指標,這個指標指向乙個存放整數的空間,即 a 中提到的空間 c int a 表示乙個記憶體空間,這個空間用來存放乙個指標,這個指標指向乙個存放指標的空間,並且指向的...
C 指標學習
一 指標的概念 如果在程式中定義乙個變數,在編譯時系統會自動給這個變數分配記憶體單元,並根據程式中的定義的變數型別,分配一定長度的記憶體空間,這樣的記憶體單元裡放著變數的值。為了便於記憶體單元的訪問,系統為每乙個記憶體單元分配乙個位址。在變數的生存期內,不管以後對變數如何賦值,其記憶體位址都是固定不...
C 學習 指標
關於二級指標的學習遇到了一些困惑,也有了一些不知是否正確的結論。在文章中留個底以記錄學習過程。author 以下是一些暫時的結論 1.將每個變數名都理解成位址 2.注意區分堆與棧中的變數 3.表示取左值 根據位址跳轉 表示取位址 宣告時表示建立乙個引用 ex.char string aaa char...