c++ 用于常量字符指针的内存位置与用于动态内存分配的内存位置之间的差异

qij5mzcb  于 2023-11-19  发布在  其他
关注(0)|答案(1)|浏览(83)

用于常量字符指针的内存位置和用于动态内存分配的内存位置是否不同?
例如,当你

const char* city = "Paris";

字符串

char city[6] = "Paris";
char* c = new char[strlen(city) + 1];


city和c都有“巴黎”的值,但它们使用不同类型的内存来存储这些值吗?

41zrol4v

41zrol4v1#

const char* city = "Paris";

字符串
很可能在只读存储器中

char city[6] = "Paris";


静态存储(堆栈或全局变量)

char* c = new char[strlen(city) + 1];


存储在堆/空闲存储区(因此需要delete ed)

相关问题