Я пытаюсь передать указатель на структуру на отдельную функцию. Но когда я иду к компиляции, я получаю warning: passing argument 1 of 'build_network_state' from incompatible pointer type
Передача указателя на struct как аргумент функции
Это в вспомогательной функции в компилирует в моей программе:
typedef struct router {
int num;
char label[64];
Topology *topology;
} Router;
Это из файла .c:
void build_network_state(Router *ptr) {
fprintf(stdout, "Hello from router %s\n", ptr->label);
}
int main(int argc, char *argv[]) {
Router* this_router = malloc(sizeof(Router));
...
fprintf(stdout, "test: %s\n", this_router->label); // output looks fine if I comment the next line
build_network_state(&this_router);
}
@chux Нет, не совсем. Это потому, что 'this_router' уже имеет тип« Router * ». Оператору address нет необходимости. –
@ H2CO3 Congrats on 100K – chux
@chux Нет проблем. Оставляя мой комментарий здесь в любом случае как информацию для OP. –