[問題] 關於指標

看板C_and_CPP (C/C++)作者 (BT)時間16年前 (2009/09/13 07:54), 編輯推噓4(401)
留言5則, 3人參與, 最新討論串1/6 (看更多)
char *get_str() { char data[64]= {"ABCD1234"}; char *ptr = data; return ptr; } int main(){ char *val; val = get_str(); printf("the second string is %s\n",val); system("pause"); return 0; } 請問如何把data印出來 都印不出來 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.193.75.64

09/13 08:06, , 1F
十誡之六
09/13 08:06, 1F

09/13 10:40, , 2F
在get_str用malloc去搞一塊記憶體 然後把資料複製過去就可
09/13 10:40, 2F

09/13 10:40, , 3F
以傳出來 不過樣用很不好 程式一大就會忘記free =_="
09/13 10:40, 3F

09/13 22:09, , 4F
char *val = get_str(); 這樣呢...這是複製POINTER的做法吧
09/13 22:09, 4F

09/13 22:50, , 5F
好像也不出不來= =
09/13 22:50, 5F
文章代碼(AID): #1Ah3IolY (C_and_CPP)
討論串 (同標題文章)
以下文章回應了本文
3
10
完整討論串 (本文為第 1 之 6 篇):
2
3
5
10
3
10
文章代碼(AID): #1Ah3IolY (C_and_CPP)