33问答网
所有问题
C++中“用字符串字面量初始化字符数组”是怎么实现的?
rt,看教程说字符串字面量会返回它的地址,那为什么字符数组本身没有被直接指向那个地址?是进行了某种类似于strcpy的操作吗?还是说这是双引号的特殊用法,专门用于初始化?
举报该问题
其他回答
第1个回答 2022-06-20
字符串字面量会返回它的地址,字符数组本身就直接指向那个地址。
C++中“用字符串字面量初始化字符数组”,如char s[]="Hello!";
它是先申请了一个6个字节的char数组,同时为它初始化数组内容为"Hello!"。确实是进行了某种类似于strcpy的操作。
第2个回答 2022-06-20
一般对于这种语法元素的解析不要去理解它具体怎么做的,这有时需要看编译器处理逻辑,不是所有编译器处理方法都一样,只要效果一样即可
这个不是赋值,所以和字符串字面量返回地址、strcpy都没有啥关系
本回答被网友采纳
相似回答
C语言问题
答:
这个字符串定义时是6个字符(STRING),加上字符串结束符,就是7个字符,所以 sizeof (x) 的值为 7,然后到了 x[0] = 0; 这条语句把
字符串的
第0个字符'S',赋值为了 0。然后 strlen (x) 发现字符串的第0个字符就是结束符(刚才赋值的那个0就相当于结束符),于是strlen 就返回了0,表...
求问
c++里
字符串
字符串字面量
字符串常量的关系
答:
"这个就是
用字符串字
面值
初始化字符
串s。如果有const string s2=s;那么这个s2就是字符串常量。现在来解释:字符串就是string类型定义的变量,如上s;字符串字面值就是双引号括起来的字符串或者以'\0'结尾的
字符数组
,即c风格字符串;字符串常量就是const字符串,如s1,它的值不能改变!
c++中字符串
与
字符数组
有什么不同?
答:
char str2[20] = "ABC";//这是一个
字符串数组
用双引号括起来的内容被视为指向该字符串储存位置的指针,类似于把数组名作为指向该数组位置的指针。也可以这样
初始化
一个字符串数组:char str3 [4] = {'A','B','C','\0'};//
字符串的数组的
长度要确保比字符串长度多1以便为了容纳'\0...
大家正在搜
字符串和字符串字面量
如何初始化字符串数组
java字符串数组初始化
二维字符串数组初始化
c语言字符串数组初始化
字符数组初始化为0
对字符数组初始化
对字符数组进行初始化
c语言字符数组初始化为空