지난 시간 문제에 대한 선생님 코드
공유 폴더에서 안가져옴 -> 다음에 가져오기.
typedef 와 구조체 선언
typedef : 자료형 별명, 별명, ,,,,
자료형에 별명을 붙이는 키워드가 typedef다. 같은 형태와 같은 성격의 데이터들을 보다 쉽게 구분하고 관리하기 위해서 사용한다. 즉 내가 편하기 위해서 사용하는거고다. 대문자를 권장한다.
예를 들어
int age; int select; int no;
가 있다고 하자.
typedef int AGE, NUM; typedef int SEL;
이런 식으로 사용해서 int라는 자료형을 다음과 같이 사용할 수 있는 거다.
즉 변수명 말고 자료형으로는 구분이 안되기에 자료형만 보고도 구분이 가능하도록, 그렇게 관리하도록 만들어준 것이다.
보통 이렇게 쓴다.
struct info{
char name[10];
int age;
};
이렇게 쓰면 struct info를 매번 써줘야 한다. 선언할 때마다.
그래서 보통 이렇게 쓴다.
typedef struct {
char name[10];
int age;
}IN,*PI;
배열은 어차피 대괄호가 들어가야하니까 생성 불가.
그런데 선생님은 *PI를 별로 안좋아한다.
int main(void){
int su;
printf("사람 수 입력: ");
scanf_s("%d", &su);
IN *pt = (PI)malloc(sizeof(IN)*su);)
이렇게 쓸 수 있는데 구분이 잘 안가잖아.
}
그래서 그냥 *PI는 잘 선언하지 않는다고 한다.
이런 식으로 typedef를 사용한다.
참고자료
kg아이티뱅크학원 (자료구조 수업)