C字符串数组初始化为空串
在C语言编程中,当我们声明一个字符串数组的时候,常常需要把它初始化为空字符(Null)。总结起来有以下三种方式:
(1) char str[10]="";
(2) char str[10]={'\0'} = {0};
(3) char str[10]; str[0]='\0';
\0和'0'是不一样的
char a[2] = {32}; 这是所有字符初始化为空格
char a[10] = {'0'}; 意思将第一个字符初始化为0,其他为空字符即\0
第(1)(2)种方式是将str数组的所有元素都初始化为'\0',而第(3)种方式是只将str数组的第一个元素初始化为'\0'。如果数组的size非常大,那么前两种方式将会造成很大的开销。所以,除非必要(即我们需要将str数组的所有元素都初始化为0的情况),我们都应该选用第(3)种方式来初始化字符串数组。
表现形式都一样,都是一个空格
海纳百川 ,有容乃大