Я пытаюсь передать массив указателей на структуру в качестве параметра, изменить его в функции и вывести измененное значение в main()
.
Код:
#include "stdio.h"
typedef struct testStruct_s {
int x;
int y;
} testStruct;
typedef testStruct typeTab[4];
void modify(typeTab tab)
{
printf("Before modification %d\n", tab[2].x);
tab[2].x = 3;
printf("Modified %d\n", tab[2].x);
}
int main()
{
typeTab tab[4];
tab[2]->x = 0;
printf("First %d\n", tab[2]->x);
modify(*tab);
printf("Second %d\n", tab[2]->x);
return 0;
}
И я получил следующий вывод:
First 0
Before modification 1719752944
Modify 3
Second 0
Я не знаю, как получить правильное значение tab[2].x
в modify()
и как изменить это значение для печати tab[2]->x = 3
после.
Для того, что я пытаюсь сделать, необходимо использовать typedef testStruct
.