K12教育赛事综合服务平台
聚乐之家官方网站
下载聚乐之家官方App
专注青少年竞赛题库网站
已知如下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; }
请根据代码判断以下说法正确的是:
sizeof(arr)的结果为6,因为字符串"hello"包含5个有效字符和1个字符串结束符\0,总占用6字节内存
sizeof(arr)
\0
sizeof(ptr)的结果为10,因为new char[10]分配了10字节的堆内存空间
sizeof(ptr)
new char[10]
strlen(arr)的结果与sizeof(arr)的结果完全一致
strlen(arr)
可以通过delete arr;正确释放数组arr占用的内存
delete arr;
arr