반응형
여러가지 정보를 묶어서 처리하기 위해서 구조체가 필요하다.
struct Human
{
char name[50];
int age;
char gender;
char tel[50];
};
struct Human human;
위와 같이 정의 하고 선언하여 사용한다.
구조체의 초기화
struct Human
{
char name[50];
int age;
char gender;
char tel[50];
};
struct Human human = { "leader2333", 99, 'M', "010-000-0000" };
printf("name : %s\n", human.name);
printf("age : %d\n", human.age);
printf("gender : %c\n", human.gender);
printf("tel : %s\n", human.tel);
위와같이 초기화 할 수 있고,
각각 human.name = "leader2333"; human.age = 99; human.gender = 'M'; human.tel = "010-000-0000";
초기화 해 줄 수 있다.
printf 문 내에서 %s 는 문자열을 출력하라는 의미이다.
%c 는 아스키코드값을 출력하라는 의미이다.
아래와 같이 선언과 동시에 human 이라는 변수를 결합할 수 있지만,
이렇게 하면 선언부만 따로 incude 할 수 없기 때문에 좋치 못하다.
선언부를 따로 분리하는 코드가 좋다.
struct Human
{
char name[50];
int age;
char gender;
char tel[50];
} human;
typedef 와 연결
typedef struct Human
{
char name[50];
int age;
char gender;
char tel[50];
} Human;
위와같이 typedef 와 연결해 놓으면
struct 를 쓰지 않고 변수를 만들수 있기 때문에 좋다.
Human human; 이라고 변수를 만들면됨(struct 가 없어도 됨)
다중 변수 구조체
typedef struct Human
{
char name[50];
int age;
char gender;
char tel[50];
} Human, *PHuman;
이렇게 다중구조체로 정의할 수 있다.
반응형
'C언어(2020년)' 카테고리의 다른 글
23. define (0) | 2020.11.04 |
---|---|
22. const (0) | 2020.11.04 |
20. bool 자료형 (0) | 2020.11.03 |
19. 연산자 (0) | 2020.11.03 |
18. 연산자 우선순위 (0) | 2020.11.03 |