c字符串基础,为什么未分配?

alf*_*lfo 2 c string declaration char variable-assignment

我正在尝试学习基础知识,我认为声明char []并为其分配字符串将起作用.谢谢

int size = 100;
char str[size];

str = "\x80\xbb\x00\xcd";
Run Code Online (Sandbox Code Playgroud)

给出错误"赋值中的不兼容类型".怎么了?谢谢

Jer*_*fin 7

您可以使用字符串文字初始化 char数组,但不能分配 char数组(除了可以分配任何其他数组).OTOH,你可以指定一个指针,所以允许以下内容:

char *str;

str = "\x80\xbb\x00\xcd";
Run Code Online (Sandbox Code Playgroud)

  • 在处理字符串文字时我会使用`const char*`. (3认同)