看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC2010 問題(Question): 如果今天有跨函式的指標傳遞 那在副程式裡需不需要free? 程式碼(Code):(請善用置底文網頁, 記得排版) #include<stdlib.h> #include<stdio.h> #include<malloc.h> #define LEN 2 void sub_fun(int *a); int main(){ int a[LEN],i; sub_fun(a); for(i=0;i<LEN;i++) printf("a(%d) = %d\n",i,a[i]); return 0; } void sub_fun(int *a){ *(a+0) = 1; *(a+1) = 2; //free(a) <- 這邊要free嗎? } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.136.146.114
LPH66:只有 malloc 來的需要 free, 然後最好誰 malloc 誰 free 03/07 14:59
LPH66:所以: 第一, 這是陣列不需要 free; 03/07 15:00
LPH66:第二, 函式收到指標就做事就好, 要不要 free 主程式決定 03/07 15:00
jackylu63:推1F,誰malloc的誰free。沒人教我,但我一直這麼做 03/08 22:53
jackylu63:這樣子的做法,是否有列入規範啊? 03/08 22:54
※ 編輯: jacky1989 來自: 118.233.66.46 (03/09 04:14)