直播带货服务

字符数组的定义和初始化

字符数组的定义和初始化

字符数组的定义和初始化

字符数组的定义和一般的数组一样,例如:

char s[10]

char s[3][10]

初始化的方法如下:

char s[10]={‘H’,’e’,’l’,’l’,’o’,’‘,’C’,’+’,’+’,’!’};/*定义时完全初始化*/

char s[]={‘H’,’e’,’l’,’l’,’o’,’‘,’C’,’+’,’+’,’!’}/*定义时省略长度的完全初始化*/

char s[10]={‘H’,’e’,’l’,’l’,’o’}/*不完全初始化,未赋值的元素系统自动赋予0*/

char s[11]={“Hello C++!”)    /*字符串形式的初始化*/

char s[11]=HelloC++!”    /*省略花括号的字符串形式的初始化*/

用双引号进行的字符串形式初始化和普通字符数组不同的是,在串的尾部自动添加了一个结束符’\0’,其ASCII值为0。数组的长度为ll,如果为10,’\0’将不能存储,字符串将不能正确初始化,其结果将只是一个普通的字符数组。

以下形式也可以初始化一个字符串:

char s[11]={‘H’,’e’,’l’,’l’,’o’,’‘,’C’,’+’,’+’,’!’,’\0’};

有了结束符’\0’,在编译处理和对字符串操作的时候,可以以此作为串是否结束的标志,定义字符串的时候需要足够的空间能存储最后一个结束符,像以下定义则是错误的:

char s[10]=”Hello C++!”

字符串的长度是不包含’\0’在内的有效字符个数,如果字符串包含多个’\0’,以最前面的为有效结束符。例如,假设有字符串:

char s[11]={‘H’,’e’,’l’,’l’,’o’,’\0‘,’C’,’+’,’+’,’!’,’\0’};

则字符串的有效长度为5,字符数组的长度仍然为11。

因此用字符串的方式对数组作初始化赋值,\0'是由C编译系统自动加上的。由于采用了’\0'标志,所以在用字符串赋初值时一般无须指定数组的长度,而由系统自行处理。

例如:

char s[ ]=”Hello C++!”

字符数组和普通数组一样,也是通过下标引用。


© Copyright 六六互联.Some Rights Reserved.www.ic.vip