关于C编程的快速问题。我没有参加过课程,但是正在网上阅读指针和使用的各种符号。以下行是否会产生一个包含10个整数指针的数组,或者指向10个整数数组的指针?
int *x[10];
以下结果也会导致一个函数以一个double作为输入并返回指向一个字符的指针?
char (*f) (double a);
提前致谢!
编辑:错误地输入第一行代码。
答案 0 :(得分:7)
将double作为输入并返回char
指针的函数如下所示:
char * foo(double arg);
其中arg
是您的输入double,foo
是函数的名称,char *
是返回类型,char指针。
char (*foo)(double arg);
声明一个函数指针,该函数指向一个带有double(arg
)并返回char
的函数。
您尝试创建数组时缺少变量名称。有两种不同的方法可以做到这一点......
int * array[10];
这声明了一个包含10个索引的数组,这些索引包含int *
,int指针。
int (*array)[10];
这声明了一个指向大小为10的整数数组的指针。
答案 1 :(得分:2)
int *x[10];
表示x
是一个包含10个元素的数组,每个元素都是指向int
的指针。
char (*f) (double a);
表示f
是指向返回char
且具有double
类型参数的函数的指针。