1:为字符串数组赋值的方式有两种,即数组元素逐一赋值和使用聚合方式赋值。
为数组元素逐一赋值。例如:
pWord[0]='H';
使用聚合方式赋值如:
char pWord[]={'H','E','L','L','O'};
2:字符数组的一些说明
(1)聚合方式只能在数组声明的时候使用
char pWord[5];
pWord={'H','E','L','L','O'};//错误
(2)字符数组不能给字符数组赋值
char a[5]={'H','E','L','L','O'};
char b[5];
a=b;//错误
a[0]=b[0];//正确
3:字符数组常作为字符串使用,作为字符串要有字符串结束符'\0'
可以使用字符串为字符数组赋值。例如:
char a[]="HeLLO WORD";
等同于
char a[]="HeLLO WORD\0";
代码如下:
未使用字符串结束符'\0'时

// 6.3.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include<iostream> using namespace std; void main() { int i; char array[12]; array[0]='a'; array[1]='b'; printf("%s\n",array); }
运行结果:
使用结束符'\0'后

// 6.3.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include<iostream> using namespace std; void main() { int i; char array[12]; array[0]='a'; array[1]='b'; array[2] = '\0'; printf("%s\n",array); }
运行结果:
可见,如果字符串没有结束符,函数会按整个字符数组输出。array字符数组中只有前两个字初始化了,所以未使用字符串结束符'\0'的程序会出现乱码。