1. int va;這是一個整型變量,32位CPU的話,占有32個bite
2. int *va;這是一個整型指針變量,用于存放一個整型變量的地址,
3. int **va;這是一個整型的二級指針,用于存放一個內存的地址,該地址對應的內存中存放了另一個整型變量的地址
比如:
int va=0x12345678;
int *pva = &va;
int **ppva = &pva;
4. int *va[3]這是一個數組,該數組里面的成員是整型的指針,分別指向int型的內存
5. int (*va)[3]這是一個指針,指向一個int型數組
注意,該地址類型是int [3]型,他的值是0x40004000,
值為0x40004000的符號還有:
a &a[0]
但是他倆的類型和va不一樣,
6. void *va(int)這是一個函數
函數的參數是int,
返回值是void *
void (*va)(int)這是一個指針,指向一個函數,
該函數形參是int
返回值是void
舉例
void (*va)(int);
void func(int num)
{
printf(“一口Linux %d
”,num);
}
va = func ;
//調用
main()
{
(*va)(6);
}
注意:函數名也是一個地址
8. int (*va[3])(int)結合方式:
va先和[3]結合,說明va是一個數組
va[3] 外面*結合,所以數組元素是一個指針
假定(*va[3])是X,外面是 int (X)(int),所以指針是指向函數的
函數的形參是是int型,返回值是int型
編輯:lyn
-
cpu
+關注
關注
68文章
10905瀏覽量
213034 -
函數
+關注
關注
3文章
4346瀏覽量
62979 -
指針
+關注
關注
1文章
481瀏覽量
70611
原文標題:不懂指針類型?8個例子給你講明白
文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
EtherCAT通訊協議詳細解析
C語言指針運算符詳解
鴻蒙原生應用元服務開發-倉頡基礎數據類型浮點類型
面試常考+1:函數指針與指針函數、數組指針與指針數組
![面試常考+1:函數<b class='flag-5'>指針</b>與<b class='flag-5'>指針</b>函數、數組<b class='flag-5'>指針</b>與<b class='flag-5'>指針</b>數組](https://file.elecfans.com/web2/M00/20/B3/pYYBAGGfNNmAK-PZAAJsGM5Cgk0227.jpg)
使用char指針參數的os_printf會導致異常怎么解決?
4芯M16母頭連接器類型解析
![4芯M16母頭連接器<b class='flag-5'>類型</b><b class='flag-5'>解析</b>](https://file1.elecfans.com/web2/M00/C6/54/wKgaomX9JraAfrffAADMjZr3SK0688.png)
評論