一文弄懂指針類型!
0.問題
知乎上回答了一個粉絲問題,
結(jié)果這兄弟又連續(xù)問了幾個問題:
好吧,幫人幫到底,送佛送到西!給你講徹底點(diǎn)吧!
1. int va;
這是一個整型變量,32位CPU的話,占有32個bite
2. int *va;
這是一個整型指針變量,用于存放一個整型變量的地址,
3. int **va;
這是一個整型的二級指針,用于存放一個內(nèi)存的地址,該地址對應(yīng)的內(nèi)存中存放了另一個整型變量的地址
比如:
int va=0x12345678;
int *pva = &va;
int **ppva = &pva;
4. int *va[3]
這是一個數(shù)組,該數(shù)組里面的成員是整型的指針,分別指向int型的內(nèi)存
5. int (*va)[3]
這是一個指針,指向一個int型數(shù)組
注意,該地址類型是int [3]型,他的值是0x40004000,
值為0x40004000的符號還有:
a &a[0]
但是他倆的類型和va不一樣,
6. void *va(int)
這是一個函數(shù)
函數(shù)的參數(shù)是int,
返回值是void *
void (*va)(int)這是一個指針,指向一個函數(shù),
該函數(shù)形參是int
返回值是void
舉例
void (*va)(int);
void func(int num)
{
printf("一口Linux %d",num);
}
va = func ;
//調(diào)用
main()
{
(*va)(6);
}
注意:函數(shù)名也是一個地址
7. int (*va[3])(int)
結(jié)合方式:
va先和[3]結(jié)合,說明va是一個數(shù)組va[3] 外面*結(jié)合,所以數(shù)組元素是一個指針假定(*va[3])是X,外面是 int (X)(int),所以指針是指向函數(shù)的函數(shù)的形參是是int型,返回值是int型
- END -
請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
-
即日-11.13立即報名>>> 【在線會議】多物理場仿真助跑新能源汽車
-
11月20日火熱報名中>> 2024 智能家居出海論壇
-
11月28日立即報名>>> 2024工程師系列—工業(yè)電子技術(shù)在線會議
-
12月19日立即報名>> 【線下會議】OFweek 2024(第九屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會
-
即日-12.26火熱報名中>> OFweek2024中國智造CIO在線峰會
-
即日-2025.8.1立即下載>> 《2024智能制造產(chǎn)業(yè)高端化、智能化、綠色化發(fā)展藍(lán)皮書》
推薦專題
- 高級軟件工程師 廣東省/深圳市
- 自動化高級工程師 廣東省/深圳市
- 光器件研發(fā)工程師 福建省/福州市
- 銷售總監(jiān)(光器件) 北京市/海淀區(qū)
- 激光器高級銷售經(jīng)理 上海市/虹口區(qū)
- 光器件物理工程師 北京市/海淀區(qū)
- 激光研發(fā)工程師 北京市/昌平區(qū)
- 技術(shù)專家 廣東省/江門市
- 封裝工程師 北京市/海淀區(qū)
- 結(jié)構(gòu)工程師 廣東省/深圳市