1、數據類型 *變量名;
2、兩種特殊運算符。
取操作數的內存地址&
取指針對應內存地址上的值 *
注意,內存地址上存儲可能會是另一個操作數的指針,因為可以多重指針
1、地址是操作數或對象在內存中的起始位置,但并不能表征這個數的大小,這個地址上可能存整型,也可能存字符型等。
2、指指針除了地址以外,還有一個信息,表示了指向對象的類型,這樣可以知道指向對象的大小。
int *x;//指向整型指針
char *x;//指向字符型指針
char *y[10];//指向字符的指針組成的數組,即指針數組
char (*x)[10];//一個指向字符數組的指針,即數組指針
int *f();//返回整型指針的函數
int (*f)();//指向返回整型量的函數的指針,即指針函數。
int (*x[3][2])();//指針數組,數組的每個元素為指向返回整型量的函數的指針
int *(*x)();//指向函數的指針,該函數的返回值為指向整型量的指針
指針運算1、數組指針
下面利用數組指針對二維元素進行訪問。
#include#includeusing namespace std;
int main(){int x[][3]={1,2,3,4,5,6};
int (*p)[3];
for(p=&x[0];p<&x[2];p++){ cout<
1 2 3
4 5 6
5
==== Program exited with exit code: 0 ====
Time elapsed: 000:00.406 (MM:SS.MS)
Press any key to continue...
2、指針和整型量加減,表示增加或減少一個指針位(完成指針的位移),每個指針位相隔的距離由指針指向的數據類型決定,比如int型,32位,每個int* 的加減號完成32位的地址加減,即4個字節(jié)距離。
3、指針指向同一數據類型,可以進行大于、等于、小于等關系運算。
4、指針運算比數組運算要快
NULL
值 為0,使用==或!=來判定是否空指針 。
void *
const指針1、const * int
指針指向常量
2、int *const
指針是常量 ,指向的數據可以更改。
3、const int *const
指針和指向的數據都不能更改。
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧