C하시는 분들은 typedef많이 쓰실텐데요
보통 구조체를 선언하고 이름을 재설정해주는 용도로 많이들 쓰실겁니다.
typedef struct {
int accountID;
char *name;
...
} AccountInfo;
뭐 이런식으로요.
여기서 struct {} 를 AccountInfo로 쓴다 라고 생각하시는 분들이 많을텐데
사실은 의미가 조금 다릅니다.
AccountInfo로 선언한 변수들이 typedef 로 선언되었을시 AccountInfo라고 써있는 부분에 들어간다는 의미인데요
말로는 어렵고 예제를 보시죠.
int (*proc(int, int)) (char , char) 이런 함수 포인터를 선언한다고 가정해보면
typedef로 선언하면
typedef int (*A)(int, int)라고 선언할 수 있습니다.
그러면
int *proc(int, int) 는
A proc; 로 대신 선언될 수 있습니다.
위에서 언급한 AccountInfo도 사실은
AccountInfo account라고 선언하면 실은
struct{} account 라고 대체 되는것이죠.
struct{}를 AccountInfo로 바꾼다는 개념이랑은 좀 다르다고 볼 수 있습니다.