поэтому у меня есть два фрагмента кода:
#include <stdio.h>
#include <stdlib.h>
#include <mysql.h>
typedef struct Node{
int a;
struct Node* x;
struct Node* y;
}Node;
int main(){
MYSQL* wow = mysql_init(NULL);
Node* node = malloc(sizeof(Node));
printf("node is %p", node->x);
}
и второй здесь:
#include <stdio.h>
#include <stdlib.h>
#include <mysql.h>
typedef struct Node{
int a;
struct Node* x;
struct Node* y;
}Node;
int main(){
Node* node = malloc(sizeof(Node));
printf("node is %p", node->x);
}
, и я компилирую их таким же образом:
gcc -Wall -g $(mysql_config --cflags) try.c $(mysql_config --libs) -o try
Первый выводит адрес памяти 0x7fb645ecaca0, второй выводит NULL. Я подозреваю причину этого root из вызова mysql_init (), но документы на inte rnet для этого topi c были довольно старыми. Буду признателен, если вы можете дать мне несколько советов.