指针函数:
返回值为指针的函数: 例: int * add (int x, int y); // 返回值为指针的带有两个变量的函数
#include <stdio.h>
int sum;int * add(int x,int y){ sum = x+y; return ∑}int main(void){ int a,b; int *p; printf("enter two int number:\n"); scanf("%d %d",&a,&b); p = add(a,b); printf("the sum of %d and %d is %d\n", a,b,*p); return 0;}
函数指针:
指向函数的指针. 例: int (*p) (int x, int y); //p变量为一个指针,其指向 一个返回类型为整型 且带有两个整型变量的函数.
#include <stdio.h>
int sum; int add(int x,int y) { sum = x+y; return sum; //与上例不同 } int main(void) { int a,b; int (*p) (int,int); printf("enter two int number:\n"); scanf("%d %d",&a,&b); p = add; printf("the sum of %d and %d is %d\n", a,b,(*p)(a,b)); //指针的引用 return 0; }现在:
pthread_create( pthread_t *thread, pthread_attr_t *attr, void *(*function)(void *), void *arg);
其中 : void * (*function)(void *) 作如下理解:
function 是个函数指针, 它指向的函数: 返回值 为: void *型 即 空指针, 参数是 void * 型 即也是 空指针.
以上为个人理解.