以下是我对 C 中的字符串的一些基本问题。
- 如果字符串文字存储在只读数据段中并且在初始化后无法更改,那么以下两个初始化之间有什么区别。
char *string = "你好世界";
const char *string = "你好世界";
- 当我们为字符串动态分配内存时,我看到以下分配足以容纳任意长度的字符串。尽管这种分配有效,但我理解/相信分配实际字符串的实际大小而不是数据类型的大小。请指导正确使用字符串的动态分配。
char *str = (char *)malloc(sizeof(char));
scanf("%s",str);
printf("%s\n",str);