一维和二维的都可以;
一维的情况如下:
1,char string0[10];
2,char string1[]="prison break";
3,char string2[100]="michael scofield";
1句表示定义个长度为10的字符串,但未赋值,2句表示定义了一个字符数组string1,并进行初始化,使得其长度自动为13(字符串”prison break"中的字符个数加上结尾的' '),3句定义了一个有100个元素的字符数组string2,并初始化了17个元素("michael scofield";加上结尾的' ');
二维的情况如下:
1,char string3[6][30];
2,char string3[6][30]=;
此句表示有6个字符串,每个字符串的长度为30,每个字符串的初始值与“joy","phosee","monses","chandele","ross","rather"相对应;
指针形式:
1. char *p;
p="hello"; //把字符串“hello”的首地址赋给了指针变量p,而不是将字符串赋给指针p,指针接受的是地址。
char*p="hello";
这里是初始化。
可以看到p被定义为一个指针变量,指向字符型数据,输出时,要用:
printf("%s
",p);
在输出时,系统先输出它指向的一个字符数据,然后自动使p加1,使之指向下一个字符,然后在输出一个字符···如此直到遇到字符串结束标志' '为止。
说明:通过字符数组名或字符串指针变量可以输出一个字符串,而对一个数值型数组,是不能企图用数组名输出他的全部元素的。