struct Friend { char Name[10]; int Age; double Height; }typedef Friend; void OutFriend(Friend f) { printf("이름 = %s, 나이 = %d, 키 = %.1f\n", f.Name, f.Age, f.Height); } void main() { Friend fri = {"홍길동", 25, 183.0}; OutFriend(fri); }
프로그램 실행화면
C언어를 배우고 익숙해지면 어느덧 갑자기 자료구조가 나온다. 자료구조를 배우면 구조체가 자주 나온다. 스택이든 큐이든 배열이나 구조체를 이용한다.
배열이라면 대입이 되지 않는다. str1 = str2; 이런식으로 말이다. 하지만 구조체는 대입이 된다. 대입이 가능하기 때문이 인자가 리턴값으로 사용할 수 있다.
구조체야 변수들을 묶어서 하나의 변수를 만드는 개념이라 생각하면 쉬울 것 같다. 보통 구조체를 만들고 선언할 때 struct name Name; 이런식으로 선언을 한다.
하지만 typedef으로 바로 정의해 주면 name Name; 이런식으로 사용할 수 있다. typedef을 이용하면 조금 더 편하게 사용할 수 있다.