char * p_one = "this is my first char pointer";
char * p_two= "this is second";
strcpy(p_one ,p_two);
考虑上面的代码。这给出了访问冲突错误。所以请帮助理解
- 当前
"this is my first char pointer"
字符串存储在内存中的什么位置?堆或栈 - 为什么我需要在调用之前为 p_one 分配内存
strcpy
,即使它已经存储了第一个字符串。为什么"this is second"
字符串不能复制到同一位置? - 如果我在调用之前为 p_one 分配内存,那么 p_one指向的字符串
strcpy
会发生什么?"this is my first char pointer"
它会留在记忆中吗? - 如何
strcpy
知道特定指针是否已分配内存?