Я создал следующую структуру:
typedef struct move {
char line;
int column;
}move;
И хочу динамически выделить память для массива этой предыдущей структуры. Пока что у меня есть:
int main(){
//Allocate memory for 1 move
struct move *moves = malloc(sizeof(struct move));
printf("Moves size: %ld\n", sizeof(moves));
//Read first move
scanf("%c%d", &moves->line, &moves->column);
printf("Move 1 = %c%d\n", moves->line, moves->column);
//Realloc moves so that struct vector can fit 2 moves now
moves = (struct move*)realloc(moves, sizeof(moves) + sizeof(struct move));
printf("Moves size after realloc: %ld\n", sizeof(moves));
//Read second move
scanf("%c%d", &(moves+1)->line, &(moves+1)->column);
printf("Move 1 = %c%d\n", (moves+1)->line, (moves+1)->column);
return 0;
}
С этим я могу прочитать первый ход, но не второй. Я думаю, что я не правильно делаю часть reallo c, но у меня также есть ощущение, что моя структура должна иметь своего рода указатель, который указывает на следующий ход.
Я видел здесь несколько похожих вопросов относительно похожих вопросы, но все структуры имели указатели внутри.
Есть мысли?