typedef unsigned (__stdcall *PTHREAD_START) (void *);
能再详细点吗?
如果PTHREAD_START为特定原型函数,那么,这句定义是什么呢?
我的意思是说,如果typedef int LONG 我可以认为定义了一个int的别名LONG,那么这个呢?
或者说,这个typedef是干什么用的?
能不能不要这样, 这么快就处理了?
能再详细点吗?
如果PTHREAD_START为特定原型函数,那么,这句定义是什么呢?我的意思是说,如果typedef int LONG 我可以认为定义了一个int的别名LONG,那么这个呢?
或者说,这个typedef是干什么用的?
typedef是用于定义类型别名的,注意只能是类型的别名,而不像#define那样可以定义任意标识符的别名,typedef int LONG就定义了int类型的别名LONG,今后定义int型变量时可以用LONG替换int。同样,PTHREAD_START为特定原型函数指针类型的别名,我们可以使用这个类型别名来定义一个特定原型函数的指针。
如果没有这个PTHREAD_START的typedef定义,那么我们每次要实现这个功能——定义该原型函数的指针时都要这么写:
unsigned (__stdcall *pThreadProc) (void *); //定义一个符合上述原型的函数的指针
pThreadProc = 某某函数名;
有了这个typedef定义,我们就可以利用这个类型别名来定义变量,如:
PTHREAD_START pThreadProc;
pThreadProc = 某某函数名;
显然这样既方便又增加了程序的可读性。
额.你不早回答,只能说谢谢了
追答没事,明白就好。
本回答被网友采纳能再详细点吗?
如果PTHREAD_START为特定原型函数,那么,这句定义是什么呢?我的意思是说,如果typedef int LONG 我可以认为定义了一个int的别名LONG,那么这个呢?
或者说,这个typedef是干什么用的?
不能追问他了,追问你啦...
没看懂你什么意思。这也没什么特别的意思啊,就是定义一个函数指针。如果你有个函数返回无符号,并且空参数,那么就可以用pthread_start去指向这个函数,那么对这个指针的调用就等于对函数的调用。一般也就调用dll的时候用得多一些。
本回答被提问者采纳What’s wrong with you?