c - 使用指针将 char 分配给 char*

标签 c arrays pointers char

假设我有一个 char *str 并且我想使用指针和递增按时间为它分配一个字符?

我已经完成了:

char *str;
char c = 'a';
*str++ = c;

但它不起作用。

我该怎么做?

最佳答案

str 只是一个指针。它不指向任何有效的地方(尤其是不指向您可以写入的某些内存)。一个简单的可能性是让它指向一个数组:

char buf[1024] = {0}; // room for 1024 chars (or 1023 + a 0 byte for a string)
char *str = buf;
char c = 'a';
*str++ = c;

关于c - 使用指针将 char 分配给 char*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46589991/

相关文章:

c++ - libunrar RARReadHeader 总是返回 ERAR_BAD_DATA

c - C语言如何将字符数组转换为二进制数组

与指针数组中的引用项混淆

c++ - 为什么我的程序停止工作?我的指针错了吗?

c - 视力有限的寻路

崩溃代码(指针 C99)

javascript - 包含返回 false

java - 查找数组中的字符

将字符复制到字符*

c - 需要有关 c 中 make 文件的帮助