函数返回值为字符串时,返回值类型是char*吗?

函数返回值为字符串时,返回值类型是char*吗?,第1张

是char

例如:提取子串--strstr函数

函数原型:char strstr(charsrc,charfind)

函数说明:从字符串src中寻找find第一次出现的位置(不比较结束符NULL)

返回值:返回指向第一次出现find位置的指针,如果没有找到则返回NULL

给你写了个例子,fun函数用于为字符串开辟空间,然后返回字符串的指针

#include

#include

char

fun(int

n)

{

return

(char

)malloc(n);

}

void

main()

{

char

ray;

int

i;

ray

=

fun(5);

for

(i

=

0;

i

<

4;

++i)

{

ray[i]

=

65+i;

}

ray[4]

就是字符串指针看来你对c语言的“函数"不完全理解才会这么问!函数就好比一个做冰棒的杯子(或模具),而水或牛奶以及其他用来做冰棒的原料好比函数的实参,冰棒做好了也就是函数返回了,实参与函数脱离关系,就好比我们冰棒做好了,从杯子里取出冰棒而杯子还在那里,但也许你用其他原料继续做冰棒,于是又用杯子了,这就好比你换一个实参又一次调用同一个函数

问题如图,c语言中自定义函数的返回类型为什么是 char 接收的也是char ?

函数参数是char ,表示函数的参数是一个指针。

函数的返回值是char ,表示函数将函数一个指针

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12184017.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存