#include studio.h
typedef struct StudentData{
char name[12];
int grade;
}


int main(){
SD student.grade = 97;

printf("%d",student.grade);
}

하면 97이 출력되는데

원래는

int main(){

SD student;
SD *pointer = &student;

pointer.grade = 97;

printf("%d",student.grade);

}

이렇게 구조체 포인터를 선언하고 해줘야

값이 바뀌지 않냐?

왜 위에선 포인터 선언 안했는데도 값이 바뀌냐?