下列关于C++字符数组内存分配与操作的说法中,正确的是?

na972904 单选题 共 个子题
#include <iostream>
#include <cstring>
using namespace std;

int main() {
    // 以下代码与选项相关
    char arr1[] = "C++";
    char* ptr1 = new char[10];
    char arr2[5] = "hello";
    char arr3[10];
    return 0;
}
A

sizeof(arr1) 的结果为4,strlen(arr1) 的结果为3

B

ptr1 指向的内存位于栈空间,使用完毕后可通过 delete ptr1; 正常释放

C

char arr2[5] = "hello"; 是合法的C++代码,编译器会自动截断字符串并补全末尾的'\0'

D

未显式初始化的局部字符数组 arr3,其所有元素都会被自动初始化为 '\0'

正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧