天天看點

數組的初始化問題探究

<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初始化
數組的初始化問題探究

繼續閱讀