精華區beta Programming 關於我們 聯絡資訊
※ [本文轉錄自 C_and_CPP 看板] 作者: Aligu1009 (=.=) 看板: C_and_CPP 標題: [問題] 函數回傳char*的問題 時間: Tue Oct 17 19:56:22 2006 在下面的程式片段中 char* getStr() { // char str[] = "string"; // (1) char* str = "string"; // (2) return str; } void main() { char* pStr = NULL; pStr = getStr(); cout << pStr << endl; } 若照目前這樣編譯執行結果會印出string 但若把(2)那行拿掉只留(1)那行則編譯(g++)會有warning: address of local variable 'str' returned 我一直把(1)和(2)的寫法看成一樣的 看來是我觀念錯了 請問這兩種寫法差在哪裡呢? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.169.114.70 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.169.114.70