구조체(struct)

여러가지 변수를 모아둔 것.

선언하는 법

/* 노미네뜨 검증 X */
struct Person
{
    char name[20];
    int age;
    char address[100];
};

struct Person p; /* 변수 만들때 .*/

예제

/* 노미네뜨 검증 X */
#include <stdlib.h>#include <stdio.h>struct Person
{
	char name[20];
	int age;
	char address[100];
};

int main()
{
	struct Person p; /* 실제 변수를 만듬*/
	p.age = 5;		 /* 변수의 멤버에 접근 */
	printf("%d\\n", p.age);

	struct Person *pp;
	pp = &p;
	pp->age = 10; /* (*pp).age = 10 과 동일 */
	printf("%d\\n", pp->age);

	struct Person *malp;
	malp = (struct Person *)malloc(sizeof(struct Person) * 1); /* sizeof 를 이용하여 필요한 메모리 계산 */
	malp->age = 20;
	printf("%d\\n", malp->age);
}
5
10
20

Norminette

typedef

structunionenum을 좀 더 간편하게 쓸 수 있도록 별칭을 만드는 것. 예를 들어 이미 만들어둔 s_abc 구조체에 대해 typedef struct s_abc t_abc 라고 하게 되면 앞으로 struct s_abc 라고 길게 쓰지 않고 t_abc 로 간편하게 쓸 수 있다.

Norminette