指针问题c

时间:2014-04-25 02:13:52

标签: c pointers declaration

关于C编程的快速问题。我没有参加过课程,但是正在网上阅读指针和使用的各种符号。以下行是否会产生一个包含10个整数指针的数组,或者指向10个整数数组的指针?

int *x[10];

以下结果也会导致一个函数以一个double作为输入并返回指向一个字符的指针?

char (*f) (double a);

提前致谢!

编辑:错误地输入第一行代码。

2 个答案:

答案 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类型参数的函数的指针。