数组的初始化问题探究

1、错误写法

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


  1. char write_buf[];

  2. char read_buf[];

        数组的初始化问题探究

 

2、合法写法


  1. char write_buf[100];
  2. 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初始化

       数组的初始化问题探究

上一篇:《UNIXLinux程序设计教程》一3.5 fdopen()和fileno()函数


下一篇:使用 jQuery & CSS3 实现优雅的手风琴效果