C 學習 指標

2021-10-03 13:23:12 字數 1282 閱讀 5752

兩個符號

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...