我是學習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