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è)地址
8. int (*va[3])(int)結(jié)合方式:
va先和[3]結(jié)合,說(shuō)明va是一個(gè)數(shù)組
va[3] 外面*結(jié)合,所以數(shù)組元素是一個(gè)指針
假定(*va[3])是X,外面是 int (X)(int),所以指針是指向函數(shù)的
函數(shù)的形參是是int型,返回值是int型
編輯:lyn
-
cpu
+關(guān)注
關(guān)注
68文章
10811瀏覽量
210878 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4286瀏覽量
62335 -
指針
+關(guān)注
關(guān)注
1文章
478瀏覽量
70492
原文標(biāo)題:不懂指針類型?8個(gè)例子給你講明白
文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論