[問題] 把函式儲存在 heap
有試過宣告一個函數a裡面定義一個函數b之後return *b,編譯有過,但是return回來的
還是b在a的stack裡的位址,而不是b本身的值
不知道要怎樣才能把函數內容儲存在heap裡面?
目前的程式大概像這樣:
void *a() {
int b(int c) {
printf("%d", c);
return 0;
};
return *b;
}
int main(int argc, char *argv[]) {
int (* func)(int c) = malloc(sizeof(func));
func = a();
return 0;
}
--
Sent from my Android
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.37.131.246
※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1419954967.A.169.html
推
12/30 23:57, , 1F
12/30 23:57, 1F
→
12/31 00:44, , 2F
12/31 00:44, 2F
→
12/31 03:00, , 3F
12/31 03:00, 3F
→
12/31 03:01, , 4F
12/31 03:01, 4F
推
12/31 07:54, , 5F
12/31 07:54, 5F
→
12/31 07:55, , 6F
12/31 07:55, 6F
推
12/31 09:35, , 7F
12/31 09:35, 7F
推
01/01 14:47, , 8F
01/01 14:47, 8F
推
01/01 19:51, , 9F
01/01 19:51, 9F
→
01/08 12:31, , 10F
01/08 12:31, 10F
→
02/01 04:44, , 11F
02/01 04:44, 11F