是的,会将剩余空间设置为'\0'。我以 Xcode 带的 clang 编译器为例,这段代码:#include<stdio.h>...
在C语言中,字符串数组的初始化会自动在字符串的末尾添加'\0'字符,以表示字符串的结束。这意味着剩余的数组空间会被初始化为'\0',形成一个空字符串。以Xcode自带的clang编译器为例,通过运行gcc -S main.c命令查看汇编输出,可以发现这一过程。当数组的大小发生变化时,字符串后面的'\0'也会相...
你可以这样想,比如上一个程序A在内存地址FF00开始处保存了一段密码数据,然后A进程结束,现在你写个B...
编译器就在数据段给你分配10个字节,前4个字符填上abc\0。 后6个字节纯粹看编译器的心情。当然,大...
编译器会有意把后面6个char填成0,因此我认为这是标准规定的。https://godbolt.org/g/RVmm9i 查了...
编译器会有意把后面6个char填成0,因此我认为这是标准规定的。https://godbolt.org/g/RVmm9i 查了...
字符串的大小<=9,数组还需要一个位置留给'\0'。编译器也会自动在初始化字符串的最后加上'\0'。