天天看点

数组的初始化问题探究

<b>1、错误写法</b>

数据在声明的时候,下面的写法是不合法的。

char write_buf[];

char read_buf[];

数组的初始化问题探究

2、合法写法

char write_buf[100];

char read_buf[] = "abcdef";

3、数组初始化的三种方法

(1)、memset(write_buf,‘0’,100);

说明,本行是将字符’0’,赋值给数组的每一个元素。
数组的初始化问题探究
避免写成memset(write_buf,0,100); 一些编译系统会引起程序的崩溃! 这里是将数组每个元素赋NULL值
数组的初始化问题探究

(2)、write_buf[100] = “ABCDEFG”;

这是使用字符串常量给字符数组初始化。 字符常量比数组长度少,后面部分自动被系统用NULL补上!
数组的初始化问题探究

(3)、write_buf[100] = {‘0’};

字符常量比数组长度少,后面部分自动被系统用NULL补上!注意开头处有一个’0’。
数组的初始化问题探究

write_buf[100] = {0};

注意,用{0}进行初始化,意味着所有都使用NUL初始化
数组的初始化问题探究

继续阅读