第29336题 单选题
关于C++中字符数组内存分配与相关操作的说法,下列选项正确的是?

已知如下C++代码片段:

#include <iostream>
#include <cstring>
using namespace std;

int main() {
    char arr[] = "hello";
    char* ptr = new char[10];
    strcpy(ptr, "world");
    const char* str_literal = "test";
    return 0;
}

请根据代码判断以下说法正确的是:

A

sizeof(arr)的结果为6,因为字符串"hello"包含5个有效字符和1个字符串结束符\0,总占用6字节内存

B

sizeof(ptr)的结果为10,因为new char[10]分配了10字节的堆内存空间

C

strlen(arr)的结果与sizeof(arr)的结果完全一致

D

可以通过delete arr;正确释放数组arr占用的内存

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