我是学习C语言的新手,我对指针有个疑问。在char *指针上尝试strcpy时出现C分割错误
例如,如果我试试这个:
char *pointer;
strcpy(pointer,"Hello, World!\n");
printf(pointer);
我得到这样的输出:
Segmentation Fault
但如果我试试这个:
char *pointer = "Hello, World!\n");
printf(pointer);
我得到这个:
Hello, World!
我的问题是为什么它不与strcpy
一起使用。 这些功能在整体上是一样的。
第一个源代码和第二个源代码有什么不同?
如果有人能够解释记忆中发生了什么,这将是一件好事,以便我能更好地了解这一点。
http://meta.stackexchange.com/a/129632/165773 – gnat