Копировать / перемещать или размещать динамически c функции - PullRequest
0 голосов
/ 29 декабря 2011

Как я могу копировать, перемещать или размещать данные функции в c?Помощь будет очень ценится.Спасибо.

например у меня есть:

int  func(int x, int y)
  {
    //instructions
  }

int (*copyOfFunc)(int x, int y);

В определенный момент я хочу сохранить func в copyOfFunc.Я уже знаю, как дать copyOfFunc адрес func, но что если я захочу скопировать func в другой адрес?

1 Ответ

0 голосов
/ 29 декабря 2011

что именно вы подразумеваете под

, но что, если я хочу скопировать func по другому адресу?

?

Вы хотите, чтобы другой указатель указывал на вашу функцию?или вы хотите, чтобы указатель функции хранился в определенном адресе?

надеюсь, этот пример кода поможет вам

#include<stdio.h>

int func(int x, int y)
{
    return x + y;
}

void do_please(int a, int b, int (*some_func) (int, int)) 
{
    printf("%d, %d ? %d\n", a, b, some_func(a, b));
}


int main () 
{
    printf("1, 2 ? %d\n", func(1, 2));

    int (*my_func) (int, int)  = func;

    do_please(3, 4, my_func);

    int (*other_func) (int, int)  = my_func;

    do_please(5, 6, other_func);

    return 0;
}
...