用于 const char 指针和用于动态内存分配的内存位置的差异

问题描述 投票:0回答:1

用于 const char 指针的内存位置和用于动态内存分配的内存位置是否不同?

例如,当你这样做时

const char* city = "Paris";

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

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

c++ memory heap-memory
1个回答
0
投票
const char* city = "Paris";

最有可能在只读存储器中

char city[6] = "Paris";

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

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

存储在堆/自由存储中(因此需要

delete
编辑)

© www.soinside.com 2019 - 2024. All rights reserved.