char ch[2];
ch[0] = 'h';
ch[1] = '\0';
Run Code Online (Sandbox Code Playgroud)
或者我可以这样做
char ch[1];
ch[0] = 'h';
Run Code Online (Sandbox Code Playgroud)
其中'\ 0'已经隐含了吗?
我这样做的原因是因为我的程序中有一个循环,我将不断更改此字符并将其连接到更长的字符串.
分配只是ch[0]不会为此分配零ch[1].您可以在一行中使用字符串文字初始化数组中的两个字符,如下所示:
char ch[2] = "h";
Run Code Online (Sandbox Code Playgroud)
这将使'h'成ch[0],且终止零到ch[1].