scanfit is required to pass the address of the memory space in which you want to store the result, unlike printffor which only the value is required (it does not care where the value is located). To get the address of a variable in C, you use the and operator:
int a;
scanf("%d", &a);
: , a. , , , ..:
struct some_struct* pointer = ........;
scanf("%d", &pointer->member);
.