1.指針怎樣聲明?
使用* 比如int* a;
2.指針中存放的是什么呢?
指針中存放的是地址。比如 int* a = NLL; int b = 0; a = &b;
例子中把b的地址給了int型指針a。&符號是用來獲得任何變量地址的,這里變量b的地址就是&b。
那b的地址的值是多少呢?這個是內(nèi)存中分配的,每次都可能不一樣。
這里還需要注意的是變量的類型必須和指針的類型一致才可以把變量的地址放入指針中去。
3.指針中的地址的值如何獲?。?/strong>
同樣是*這個符號,比如我們要獲取指針a的值,直接*a就可以了。
比如*a+1 結(jié)果為1。如果寫成a+1就是不正確的了,得出的結(jié)果就是a中的內(nèi)存地址加上1后的那塊內(nèi)存地址了。
但是特別的是,如果你定義成 char *string = “Hello world!”;直接string獲得的值并不是地址而是“Hello world!”。
為什么呢?因為輸出操作把char*當(dāng)成char數(shù)組來對待。
4.什么是指針數(shù)組?
說白了講就是數(shù)組的中存放的是指針。
比如char *strChar[] = {“123”,”1234”,”12345”}; 則strChar[0]中存放的是”123”地址的值,以此類推。
但是這里雖然存放的是地址的值,但是可以直接用strChar[0]取得”123”。