c++中的指標代表的是記憶體中的一段位址,通過指標可以直接訪問記憶體中的具體的位址。
指標的定義格式:
型別 *變數值;
int *pint;//eg.宣告了乙個整型的指標變數;
指標在宣告的時候最好進行初始化。初始化的方式如下:
int
*pstr=null;
#include
using
namespace
std;
int main()
執行可以看到程式出錯,注釋語句(2)可以看到**正常執行輸出為:
pstr value
is:0
取值操作符是*,取址操作符是&。
如果對著指標變數執行取值操作,比如*pstr,得到的將是pstr指標指向的記憶體位址儲存的值;而對變數執行取址操作,比如&i,得到的將是變數i的位址。
下面通過乙個例項來介紹兩者的區別:
#include
using
namespace
std;
int main();
int *pvar=var;
for(int i=0;i<3;i++)
可以看到類似的輸出:
address of
var[0] = 014ffaac
value of
var[0] = 100
address of
var[1] = 014ffab0
value of
var[1] = 200
address of
var[2] = 014ffab4
value of
var[2] = 300
以上,就是對指標的一些基本的學習。只要記住位址是門牌,值是住戶就行了,根據位址可以找到住戶;由住戶可以拿到位址;而郵編就是位址的位址,根據郵編能找到位址,根據位址又能拿到郵編。 學習 C (1) 指標 new 和delete
1.概念 new typename pointer name new typename delete delete pointer name 注意 1 new之後要判斷,指標是否為null,記憶體被耗盡時,防止程式超界 2 如果用變數分配的記憶體,則不能使用delete int a 5 int p ...
C 學習1 指標的使用
c 是一門解釋型語言,其中對指標進行了封裝,因此使用者無法直接呼叫物件的指標。但是當使用c 呼叫c c 的dll時,常常會函式引數或者返回值為指標的情況。這種情況下就需要對指標進行操作。在c 中使用指標,需要首先回答以下幾個問題 c 提供的指標為intptr或者uintptr,用於表示指標或控制代碼...
C 學習筆記 四 指標 1
函式存放在記憶體的 區域內,它們同樣有位址,我們如何能獲得函式的位址呢?如果我們有乙個int test int a 的函式,那麼,它的位址就是函式的名字,這一點如同陣列一樣,陣列的名字就是陣列的起始位址。定義乙個指向函式的指標用如下的形式,以上面的test 為例 int fp int a 這裡就定義...