第29338题 单选题
下列关于C++字符数组内存分配与操作的说法中,正确的是?
#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'

程序运行统计
暂无判题统计
提交0次 正确率0.00%
答案解析