Always Be Wise

typedef를 이용한 구조체 선언 본문

프로그래밍 언어/C

typedef를 이용한 구조체 선언

bewisesh91 2021. 12. 4. 14:05
728x90

기본적으로 구조체를 선언할 때는 main 함수 밖에서 struct 구조체 이름 { 구조체 멤버들 }; 형태로 선언하고, main 함수에서

struct 구조체 이름 변수 이름 과 같이 선언한 후 사용한다. typedef를 이용하여 조금 더 편리하게 구조체 선언을 할 수 있다.

typedef는 C 언어에서 자료형을 새롭게 이름을 붙일 때 쓰는 키워드이다. typedef를 이용하면 main 함수에서 구조체를 

선언할 때 매번 struct를 써줄 필요가 없다. 이 typedef를 사용할 때에는 구조체 별칭이 필요한데, 구조체 별칭은 아래와 같이

구조체를 정의할 때 중괄호 뒤에 써주면 된다.

#include <stdio.h>

typedef struct _Student {
	int age;
	char phone_number[14];
} Student; // 구조체 별칭

int main(){
	Student goorm;
	
	printf("나이 : ");
	scanf("%d", &goorm.age);
	printf("번호 : ");
	scanf("%s", goorm.phone_number);
	
	printf("----\n나이 : %d\n번호 : %s\n----", goorm.age, goorm.phone_number);
	
	return 0;
}

구조체 이름을 적지 않고 구조체를 선언하고 사용하는 것도 가능하다. 구조체 이름을 따로 지정하지 않고 별칭만 사용하는 것을

익명 구조체라고 한다. typedef를 이용해 구조체 별칭을 사용할 때에도 문법은 똑같으므로 멤버에 접근할 때는 똑같이 .을 사용한다.

#include <stdio.h>

typedef struct {
	int age;
	char phone_number[14];
} Student;

int main(){
	Student goorm;
	
	printf("나이 : ");
	scanf("%d", &goorm.age);
	printf("번호 : ");
	scanf("%s", goorm.phone_number);
	
	printf("----\n나이 : %d\n번호 : %s\n----", goorm.age, goorm.phone_number);
	
	return 0;
}

 

'프로그래밍 언어 > C' 카테고리의 다른 글

구조체 포인터  (0) 2021.12.04
구조체 배열  (0) 2021.12.04
구조체란?  (0) 2021.12.04
이중 포인터와 포인터 배열  (0) 2021.12.04
상수 포인터  (0) 2021.12.04
Comments