首页 > 代码库 > C语言指针

C语言指针

1、指向指针的指针,二级指针  
int a = 1;
*aa = &a;
**aaa  = &aa
aaa的值:**aaa
aaa的地址:*aaa
 
2、
void (*b[10]) (void (*)());
b是一个数组,这个数组有10个元素,每一个元素都是一个指针,指针指向一个函数,函数参数是“void (*)()”【注1】,返回值是“void”!
注1:这个参数又是一个指针,指向一个函数,函数参数为空,返回值是“void”。
 
int* (*a[5])(int, char*);
首先看到标识符名a,“[]”优先级大于“*”,a与“[5]”先结合。所以a是一个数组,这个数组有5个元素,每一个元素都是一个指针,
指针指向“(int, char*)”,对,指向一个函数,函数参数是“int, char*”,返回值是“int*”。
 
强制转换成函数指针,这个函数返回值是void , 参数是void * ,好比void (*fun)( void *)
 
void中文翻译为“无类型”。常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明。
void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。
 
(void (*)(void *))
强制转换成函数指针,这个函数返回值是void , 参数是void * ,好比void (*fun)( void *)

C语言指针