1、错误写法
数据在声明的时候,下面的写法是不合法的。
- 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初始化