不懂指针类型,8个例子给你讲明白
0.问题
知乎上回答了一个粉丝问题,不懂
结果这兄弟又连续问了几个问题:
好吧,指针帮人帮到底,类型送佛送到西!给你讲彻底点吧!
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); }注意:函数名也是一个地址
8. int (*va[3])(int)
结合方式: