Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 下面的typedef用例很难理解_C - Fatal编程技术网

C 下面的typedef用例很难理解

C 下面的typedef用例很难理解,c,C,下面的typedef用例真让我困惑,你能给每一行解释一下吗 typedef char *one; one abc(); typedef one (*twft)(); twft abcde(); “one”是一个typedef作为字符指针 typedef char *one; one abc() typedef one (*twft)() “abc”函数声明返回字符指针 typedef char *one; one abc() typedef one (*twft)()

下面的typedef用例真让我困惑,你能给每一行解释一下吗

typedef char *one;
one abc();
typedef one (*twft)();
twft abcde();

“one”是一个typedef作为字符指针

typedef char *one; 
one abc() 
typedef one (*twft)()  
“abc”函数声明返回字符指针

typedef char *one; 
one abc() 
typedef one (*twft)()  
“twft”是返回char指针的函数指针的typedef

typedef char *one; 
one abc() 
typedef one (*twft)()  
最后一个是abcde()的函数声明,它返回由上述typedef定义的函数的函数指针

twft abcde() 

第一行使
one
成为
char*
的同义词。第二行声明
abc
是一个函数,它接受一个不确定的参数列表并返回一个
one
(又称
char*
)。第三行将
twft
定义为指向函数的指针,该函数采用不确定的参数列表并返回一个
one
(又称
char*
)。最后一行声明
abcde
是一个函数,它接受一个不确定的参数列表,并返回一个指向指定类型函数的
twft
-aka指针。请注意,所示代码中没有原型。你需要
一个abc(无效)
类型定义一(*twft)(无效)
twft abcde(无效)或类似代码以创建原型。目前为止,您所知道的只是函数不采用可变参数列表(不使用参数列表末尾的
,…
进行声明或定义-不是像
printf()
等那样的可变函数)。