C 为什么有些函数是带星号的原型?

C 为什么有些函数是带星号的原型?,c,function,C,Function,编程语言:C 我正在处理一个需要对某些已经生成的函数进行重新编码的项目,当查看其中一些函数的手册页时,我发现其中一些函数在函数名之前包含一个星号,如string.hlibrarychar*strchr中的函数名(const char*s,int c)我个人从星号中了解到的是,我们将其添加到变量声明中,使其成为指针,但函数为什么是指针。星号是返回类型的一部分,所以这个函数 char*strchr(常量char*s,int c) 返回char* 而且 int*c; 不是指向int的“指针变量”

编程语言:C



我正在处理一个需要对某些已经生成的函数进行重新编码的项目,当查看其中一些函数的手册页时,我发现其中一些函数在函数名之前包含一个星号,如string.hlibrarychar*strchr中的函数名(const char*s,int c)我个人从星号中了解到的是,我们将其添加到变量声明中,使其成为指针,但函数为什么是指针。

星号是返回类型的一部分,所以这个函数

char*strchr(常量char*s,int c)
返回
char*

而且

int*c;
不是指向int的“指针变量”,而是存储int指针的变量(
int*


星号是返回类型的一部分,因此此函数

char*strchr(常量char*s,int c)
返回
char*

而且

int*c;
不是指向int的“指针变量”,而是存储int指针的变量(
int*


指针类似于任何其他变量。
int
long
存储整数。
float
double
存储浮点数。指针存储内存地址。函数返回地址没有问题。指针类似于任何其他变量。
int
long
存储整数。
float
double
存储浮点数。指针存储内存地址。函数返回地址没有问题。

这意味着函数返回指针,指针指向变量或任何结构类型,或者只是它的一个值,在本例中是一个
char
变量或
char
数组的第一个元素,其值由函数本身决定(取决于它的处理)。您可以使用该指针检查函数是否成功完成(这是常见的)或者根据函数的特定用途在程序中的其他地方使用它。

这意味着函数返回一个指针,该指针指向一个变量或任何结构类型,或者仅仅指向它的一个值,在本例中是一个
char
变量或
char
数组的第一个元素,其值为是/是由函数本身决定的(取决于它的处理)。您可以使用该指针来检查函数是否成功完成(这是常见的)或者根据函数的特定用途在程序中的其他位置使用它。

具有char*原型的函数意味着它返回char类型的指针。换句话说,此函数的返回值将是指向字符串(或字符)的地址.

带有char*原型的函数表示它正在返回char类型的指针。换句话说,此函数的返回值将是指向字符串(或字符)的地址