我尝试了以下方法:
int main()
{
char* a = "sdwgfwegwe wefwef wefwefwefwysadqaw";
char* b = "acd";
char* c = "sdwgfwegwe wefwef wefwefwefwysadqaw";
char* d;
d = "acd";
printf("%p\n", a);
printf("%p\n", b);
printf("%p\n", c);
printf("%p\n", d);
getchar();
return 0;
}
并且在输出(控制台)上,a 和 c 以及 b 和 d 具有相同的地址。我想过为每个角色实现一个查找表。这样做有什么好处/情况吗?以及编译器从中得到了什么(上面的示例,而不是查找表:))?检查这个字符串是否已经被使用,如果没有,为给定的字符串保留内存 -> 将它返回给 a? 有没有人有一些书籍提示或链接,可以深入解释内部内存分配/管理,即使它依赖于编译器?提前致谢。