字符数组和字符串数组

来源:互联网 发布:星翼网络怎么样 编辑:程序博客网 时间:2024/04/30 03:41

字符数组:是指用来存放字符的数组,定义方式和引用方式和数组一样。

定义及其初始化:

char str [7] = {'h','e','l','l','o'};//赋值后有str[0] = 'h';str[1] = 'e';str[2] = 'l';str[3] = 'l';str[4] = 'o';str[5] = '\0';str[6] = '\0';
char str[2][6] = {{'h','e','l','l','o'},{'w','o','r','l','d'}};//赋值后有str[0][0] = 'h';str[0][1] = 'e';str[0][2] = 'l';str[0][3] = 'l';str[0][4] = 'o';str[0][5] = '\0';str[1][0] = 'w';str[1][1] = 'o';str[1][2] = 'r';str[1][3] = 'l';str[1][4] = 'd';str[1][5] = '\0';

若花括号里的字符个数大于数组长度,就会报错。

若花括号里的字符个数小于数组长度,其余的元素自动定为空字符“\0”;

字符串数组:字符串是用一个字符数组来存储的一串字符,但与数组不同,字符串在逻辑上是一段相关的文字内容。

而数组中的每一个元素都是独立的。字符串以“\0”作为结束符。

定义及其初始化:

char str[7] = "hello";str[0] = 'h';str[1] = 'e';str[2] = 'l';str[3] = 'l';str[4] = 'o';str[5] = '\0';

若花括号里的字符个数大于数组长度,就会报错。

若花括号里的字符个数小于数组长度,则最后一个字符添加“\0”作为字符串的结束标志(最多一个“\0”);

用字符串赋值可以省略花括号。

给一维数组赋初值时可以省略数组长度,给二维数组赋初值时可以省略第一维的长度。

用scanf输入的字符串中间不能有空格,否则字符串会结束只能输入空格之前的字符串。

用gets可以读入有空格的字符串。

char str[15];gets(string);puts(string);//输入数据hello world//输出数据hello world
char str[] = {'H','e','l','l','o'};char str1[] = "hello";

对于第一个,所占空间是5;

对于第二个,所占空间是6;(会自动添加一个'\0')
字符串数组不会自动添加 '\0'。
字符串会自动添加' \0'。

0 0