gpt4 book ai didi

c - 将字符串传递给C中的函数

转载 作者:太空狗 更新时间:2023-10-29 15:47:06 27 4
gpt4 key购买 nike

下面给出的代码读取文件内容到缓冲区,然后用它做一些事情。

char *getData(){
char *buf = (char*) malloc(100);
//write file contents to buf
return buf;
}

char *bar(char *buf){
//do something with buf
return buf;
}

int main(void){
char *result;

result = bar(getData());

return 0;
}

第 9 行的 return buf; 工作正常 - 它返回整个字符串。问题是如何在功能栏中访问 buf 中的单个字符?

最佳答案

如果你想访问单个字符,你可以像在任何其他地方访问任何字符串一样进行操作:buf[index](对于指针 ptr[index] *(ptr+index) 完全相同。

顺便说一下,在该代码中有一个 malloc 但没有它对应的 free - 你正在泄漏内存。在这样一个小程序中,问题并不明显(应用程序立即终止,因此操作系统会自动回收所有仍未释放的内存),但在较大的程序中,问题可能会变得严重。

关于c - 将字符串传递给C中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4146782/

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