zhe
char*str[]={"mm","nn","bb"};
cout<<str[0]<<str[1]<<str[2];
也只有当指针数组中每个元素的类型都是char *
时,才能像上面那样给指针数组赋值,其他类型不行。需要注意的是,字符数组 str 中存放的是字符串的首地址,不是字符串本身,字符串本身位于其他的内存区域,和字符数组是分开的。
下面两者等价
#include <stdio.h>
int main(){
char *str0 = "lirendada";
char *str1 = "C语言";
char *str2 = "C Language";
char *str[3] = {str0, str1, str2};
printf("%s\n%s\n%s\n", str[0], str[1], str[2]);
return 0;
}
#include <stdio.h>
int main(){
char *str[3] = {"lirendada","C语言","C Language"};
printf("%s\n%s\n%s\n", str[0], str[1], str[2]);
return 0;
}