Chinaunix首页 | 论坛 | 博客
  • 博客访问: 12896591
  • 博文数量: 1293
  • 博客积分: 13501
  • 博客等级: 上将
  • 技术积分: 17974
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-08 18:11
文章分类

全部博文(1293)

文章存档

2019年(1)

2018年(1)

2016年(118)

2015年(257)

2014年(128)

2013年(222)

2012年(229)

2011年(337)

分类:

2012-11-01 19:39:26

1、错误写法

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


  1. char write_buf[];

  2. char read_buf[];


        image

 

2、合法写法


  1. char write_buf[100];
  2. char read_buf[] = "abcdef";

 

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

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

说明,本行是将字符’0’,赋值给数组的每一个元素。

image

 

避免写成memset(write_buf,0,100); 一些编译系统会引起程序的崩溃!

这里是将数组每个元素赋NULL值

image

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

这是使用字符串常量给字符数组初始化。

字符常量比数组长度少,后面部分自动被系统用NULL补上!

image

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

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

       image

write_buf[100] = {0};

注意,用{0}进行初始化,意味着所有都使用NUL初始化

       image

阅读(1998) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~