gpt4 book ai didi

将整数转换并存储为 char 指针

转载 作者:行者123 更新时间:2023-11-30 21:24:18 25 4
gpt4 key购买 nike

我正在尝试将整数转换并存储为字符指针。到目前为止,这就是我所拥有的。

char * str1;
sprintf(str1,"%d",10);

我不断收到 Segmentation fault错误。

如果下面的代码可以工作,那么为什么上面的代码不行呢?

char * str1;
str1 = "Hello World";
printf("%s\n", str1);

最佳答案

声明char *str不会创建一 block 内存。它只是表明您有一个类型为 char * 和标识符 str 的指针。

堆栈分配

请注意堆栈空间有限,并且您无法从静态分配的函数返回 str

char str[10];
sprintf(str1,"%d",10);

堆分配

请注意,为了避免内存泄漏,在使用完字符串后必须调用free

#include <stdlib.h>

...
char *str = malloc(10);
sprintf(str1,"%d",10);
...

关于将整数转换并存储为 char 指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38282801/

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