不懂指针类型,7个例子给你讲明白
生活随笔
收集整理的這篇文章主要介紹了
不懂指针类型,7个例子给你讲明白
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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\n",num); } va?=?func?; //調用 main() {(*va)(6); }注意:函數名也是一個地址
7. int (*va[3])(int)
結合方式:
va先和[3]結合,說明va是一個數組
va[3] 外面*結合,所以數組元素是一個指針
假定(*va[3])是X,外面是 int (X)(int),所以指針是指向函數的
函數的形參是是int型,返回值是int型
END
聲明:
本文于網絡整理,版權歸原作者所有,如來源信息有誤或侵犯權益,請聯系我們刪除或授權事宜。
總結
以上是生活随笔為你收集整理的不懂指针类型,7个例子给你讲明白的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS / iPadOS 16.5 Be
- 下一篇: C或C 如何通过程序执行shell命令