下面的三个输出是一样的,即函数名字作为一个地址,作为一个常量来使用
所以对这个函数名做&或者*操作是没有意义的. 其值都是一样的.
但是如果要使用一个函数指针的变量,就需要使用* 来调用函数.
这个问题解决了我的一个困惑:
下面是解决的困惑,即对pthread_create()函数使用的时候,第三个参数
可以使用下面三种形式,编译器认为没有问题:
pthread_create(&thread_id,NULL,printx,NULL);
pthread_create(&thread_id,NULL,&printx,NULL);
pthread_create(&thread_id,NULL,*printx,NULL);
函数原型为int pthread_create(pthread_t * thread, pthread_attr_t * attr, void * (*start_routine)(void *), void * arg)