这不是合法的数组说明,因为char a表示一个字符,如果要定义数组的合法说明,如下形式都可以:char a[]="string";char a[10] = "string";其实就跟整数和整数数组的定义一样:int n,nArray[10];n是整数,nArray是数组:n=2是合法的,n={1,2}就是不合法的。
char a="string";这是错的,a只是字符型变量,只能赋值为单个字符,不能赋值为字符串 char a[]="string"; 这样声明可以
具体是以char类型数组存在,字符串常量池是在方法区里的。
是的,可以在Java的源码里面看到的。源码在java.lang
第一个是字符数组。相当于char str[6]={ 's','t','r','i','n','g'}; 得到的结果是6 在C语言中没有专门的字符串变量, 通常用一个字符数组来存放一个字符串。 前面介绍 字符串常量时, 已说明字符串总是以'\0'作为串的结束符。 因此当把一个字符串存入一个数 组时,也把结束...
包含了头文件: #include <string> b(a); a数组 会自动 转为 string 的。 若写成 b( (string) a); 用强制转化也可以。
\0'。其余不能整体操作的情况不会自动添加'\0',需要时得由程序员写入添加语句。string类的对象与char数组处理字符串不同,它的字符串并不以'\0'结束,所以不存在添加不添加'\0'的问题,需要转换成char型字符串时得调用其成员函数c_str来做转换操作。