当前位置: 技术问答>linux和unix
C:函数指针
来源: 互联网 发布时间:2015-04-24
本文导语: 看到一个void *(*start_routine)(void *); 而以前学的是int *a(); 帮忙解释一下这个指针,THANKS A LOT! | void *(*start_routine)(void *); 参数为void *型,返回值为void *型的函数指针start_routine。 int *a(); 返...
看到一个void *(*start_routine)(void *);
而以前学的是int *a();
帮忙解释一下这个指针,THANKS A LOT!
而以前学的是int *a();
帮忙解释一下这个指针,THANKS A LOT!
|
void *(*start_routine)(void *);
参数为void *型,返回值为void *型的函数指针start_routine。
int *a();
返回值是int *型的函数a;
参数为void *型,返回值为void *型的函数指针start_routine。
int *a();
返回值是int *型的函数a;
|
对这类问题头大的,看《The C Programming Language》。
其实非常简单,以楼主的问题为例:
1、start_routine是标识符
2、*start_routine说明start_routine是指针。是什么指针?
3、(*start_routine)()说明start_routine是函数指针。函数原型是什么?
4、(*start_routine)(void *)说明函数的参数类型是void*
5、void *(*start_routine)(void *);说明函数的返回值类型是void*
其实非常简单,以楼主的问题为例:
1、start_routine是标识符
2、*start_routine说明start_routine是指针。是什么指针?
3、(*start_routine)()说明start_routine是函数指针。函数原型是什么?
4、(*start_routine)(void *)说明函数的参数类型是void*
5、void *(*start_routine)(void *);说明函数的返回值类型是void*