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'的程序會出現亂碼。