关于怪异指针的问题

时间:2011-09-28 13:28:51

标签: c

我学习C.在一些C源代码中挖掘,我发现了这一行。我已阅读有关指针的内容,但我没有看到这样的例子。

char   *uppercase (char *s);

这是什么意思?

6 个答案:

答案 0 :(得分:6)

这是一个函数的声明,它接受一个char指针并返回一个char指针。

答案 1 :(得分:0)

char   *uppercase (char *s);

相同
char* uppercase (char *s);

其返回类型为char*;它返回一个指针。

答案 2 :(得分:0)

这意味着该函数接受一个指向字符的指针并返回一个指向字符的指针,即字符串的开头。

答案 3 :(得分:0)

uppercase是一个函数,它返回一个char类型的地址(也就是说,它可以存储在一个char指针中),因为它写为char *uppercase ... uppercase()将char指针作为参数char *s ... 因此写成char *uppercase( char *s)

答案 4 :(得分:0)

在C中,*的位置无关紧要,只要它位于类型和名称之间。因此char* schar *s甚至char * s相同。

同样适用于函数及其返回类型,char* uppercase()相当于char *uppercase()char * uppercase()

在C中或多或少忽略了空格,所以在编写自己的代码时,我建议您选择一种格式并坚持下去。

答案 5 :(得分:0)

星号*的位置可以是任何位置:返回类型或函数名称之间。 将其保留在返回类型的末尾即char*

更合乎逻辑