gpt4 book ai didi

c - char* 作为函数的返回类型有什么作用或意义?

转载 作者:太空宇宙 更新时间:2023-11-04 03:02:18 24 4
gpt4 key购买 nike

我有一个为我设置的程序,我只需填写空白即可。底部有一个函数,我不必触及,但不明白为什么该函数的返回类型是 char* 而不仅仅是 char

/*Main Function from where it is called */

char * check(char * name, double sx[], double t[], int n);

/*Function*/

char * check(char * name, double sx[], double t[], int n)
{

int i;
for(i = 0 ; i < n ; i++)
{
if(fabs(sx[i] - t[i]) > EPSILON)
return (strcat(name, " check fails"));
else
return (strcat(name, " check is OK"));
}
}

我不明白这是为什么。

最佳答案

这是因为该函数不返回单个字符。相反,它返回一个地址,该地址指向一个字符(因此名称为 pointer),并用 * 表示。这是必要的,因为您不使用单个字符,而是使用字符列表来形成句子(或字符串)。

由于字符串以 '\0' 字符结尾,其他函数可以遍历内存直到到达该字符。请阅读有关指针的这一部分:http://computer.howstuffworks.com/c20.htm

或者更好:阅读整个 C 教程。写得很好,应该澄清很多。

关于c - char* 作为函数的返回类型有什么作用或意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9995889/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com