[問題] 函數return array pointer跟不return
請大大賜教 兩種寫法:
1.
main()
{
char* buf;
buf=malloc(2048*sizeof(char));
func(buf);
printf(buf); //試印出buf內容 但為空
}
void func(char* buf )
{
buf= SetArray(); // 回傳一個 char * pointer給buf
}
此法不work
2.
main()
{
char* buf;
buf=malloc(2048*sizeof(char));
buf=func(buf);
printf(buf); //試印出buf內容 ok
}
char* func(char* buf )
{
buf= SetArray(); // 回傳一個char * pointer給buf
return buf;
}
第一種不行 但第二種可以
請問我第一種可能是因為哪邊不合規定嗎
或者這樣做法根本是錯誤的
Thank you~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.48.108
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1430372283.A.812.html
→
04/30 13:48, , 1F
04/30 13:48, 1F
→
04/30 13:49, , 2F
04/30 13:49, 2F
→
04/30 13:50, , 3F
04/30 13:50, 3F
→
04/30 13:51, , 4F
04/30 13:51, 4F
→
04/30 13:52, , 5F
04/30 13:52, 5F
→
04/30 13:53, , 6F
04/30 13:53, 6F
→
04/30 13:54, , 7F
04/30 13:54, 7F
→
04/30 14:14, , 8F
04/30 14:14, 8F
→
04/30 15:05, , 9F
04/30 15:05, 9F
推
04/30 18:38, , 10F
04/30 18:38, 10F