一文弄懂指針類型!
0.問題
知乎上回答了一個(gè)粉絲問題,
結(jié)果這兄弟又連續(xù)問了幾個(gè)問題:
好吧,幫人幫到底,送佛送到西!給你講徹底點(diǎn)吧!
1. int va;
這是一個(gè)整型變量,32位CPU的話,占有32個(gè)bite
2. int *va;
這是一個(gè)整型指針變量,用于存放一個(gè)整型變量的地址,
3. int **va;
這是一個(gè)整型的二級(jí)指針,用于存放一個(gè)內(nèi)存的地址,該地址對(duì)應(yīng)的內(nèi)存中存放了另一個(gè)整型變量的地址
比如:
int va=0x12345678;
int *pva = &va;
int **ppva = &pva;
4. int *va[3]
這是一個(gè)數(shù)組,該數(shù)組里面的成員是整型的指針,分別指向int型的內(nèi)存
5. int (*va)[3]
這是一個(gè)指針,指向一個(gè)int型數(shù)組
注意,該地址類型是int [3]型,他的值是0x40004000,
值為0x40004000的符號(hào)還有:
a &a[0]
但是他倆的類型和va不一樣,
6. void *va(int)
這是一個(gè)函數(shù)
函數(shù)的參數(shù)是int,
返回值是void *
void (*va)(int)這是一個(gè)指針,指向一個(gè)函數(shù),
該函數(shù)形參是int
返回值是void
舉例
void (*va)(int);
void func(int num)
{
printf("一口Linux %d",num);
}
va = func ;
//調(diào)用
main()
{
(*va)(6);
}
注意:函數(shù)名也是一個(gè)地址
7. int (*va[3])(int)
結(jié)合方式:
va先和[3]結(jié)合,說明va是一個(gè)數(shù)組va[3] 外面*結(jié)合,所以數(shù)組元素是一個(gè)指針假定(*va[3])是X,外面是 int (X)(int),所以指針是指向函數(shù)的函數(shù)的形參是是int型,返回值是int型
- END -

發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
最新活動(dòng)更多
-
3月27日立即報(bào)名>> 【工程師系列】汽車電子技術(shù)在線大會(huì)
-
4月30日立即下載>> 【村田汽車】汽車E/E架構(gòu)革新中,新智能座艙挑戰(zhàn)的解決方案
-
5月15-17日立即預(yù)約>> 【線下巡回】2025年STM32峰會(huì)
-
即日-5.15立即報(bào)名>>> 【在線會(huì)議】安森美Hyperlux™ ID系列引領(lǐng)iToF技術(shù)革新
-
5月15日立即下載>> 【白皮書】精確和高效地表征3000V/20A功率器件應(yīng)用指南
-
5月16日立即參評(píng) >> 【評(píng)選啟動(dòng)】維科杯·OFweek 2025(第十屆)人工智能行業(yè)年度評(píng)選
推薦專題
- 1 UALink規(guī)范發(fā)布:挑戰(zhàn)英偉達(dá)AI統(tǒng)治的開始
- 2 北電數(shù)智主辦酒仙橋論壇,探索AI產(chǎn)業(yè)發(fā)展新路徑
- 3 降薪、加班、裁員三重暴擊,“AI四小龍”已折戟兩家
- 4 “AI寒武紀(jì)”爆發(fā)至今,五類新物種登上歷史舞臺(tái)
- 5 國產(chǎn)智駕迎戰(zhàn)特斯拉FSD,AI含量差幾何?
- 6 光計(jì)算迎來商業(yè)化突破,但落地仍需時(shí)間
- 7 東陽光:2024年扭虧、一季度凈利大增,液冷疊加具身智能打開成長(zhǎng)空間
- 8 地平線自動(dòng)駕駛方案解讀
- 9 封殺AI“照騙”,“淘寶們”終于不忍了?
- 10 優(yōu)必選:營收大增主靠小件,虧損繼續(xù)又逢關(guān)稅,能否乘機(jī)器人東風(fēng)翻身?