C++ char a[] =“abc”;char b[] ={‘a’,’b’,’c’};数组a数组b是否等价,数组a长度,数组b长度
时间: 2024-06-05 19:09:09 浏览: 5
数组a和数组b的元素相同,但是定义方式不同。数组a是使用字符串常量初始化的字符数组,而数组b是使用字符数组初始化的字符数组。因此,它们在内存中的存储方式不同。数组a是在只读内存中存储的,而数组b是在可读写内存中存储的。
数组a的长度为4,包括了字符串末尾的空字符'\0'。而数组b的长度为3,没有空字符。
所以,虽然它们的元素相同,但是它们的长度和存储方式不同,因此在某些情况下可能需要注意它们的使用。
相关问题
关于C++语句char a[5]=”abc”; char *p=a; *p='d';说法正确的是_。 A.数组名a是其地址 B.指针变量p存储的是a[O]的内存地址 C. a[4]的值为'\0' D. a[0]的值为'd'
答案是D。解析如下:
- A选项:数组名a并不是其地址,而是数组首元素的地址。
- B选项:指针变量p存储的是a数组首元素的地址,即&a[0]。
- C选项:由于a数组长度为5,而字符串"abc"只占用3个字符,所以a[3]的值为'\0',而非a[4]。
- D选项:将指针变量p指向的地址的值赋为'd',即a[0]='d'。
关于C++语句char a[5]=“abc”; char *p=a; *p='d';说法正确的是_。(多选) A.数组名a是其地址 B.指针变量p存储的是a[O]的内存地址 C. a[4]的值为'\0' D. a[0]的值为'd'
正确的说法是:
A. 数组名a是其地址,即a等价于&a[0];
B. 指针变量p存储的是a[0]的内存地址,即p等价于&a[0];
C. a[4]的值为'\0',因为a数组的大小为5,而字符串"abc"只占用了3个元素,所以编译器会在a[3]的位置自动添加一个空字符'\0';
D. a[0]的值为'd',因为*p='d'语句将a[0]的值改为了'd'。因此,最终a数组中存储的字符串为"dbc"。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)