評價: 0 回應: 0 閱覽: 105
置頂

把函式儲存在 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;
}

 

會員登入 (先登入會員才能回覆留言喔!)

Facebook留言