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
struct의 이름은 s_ 로 시작해야 합니다.struct, union, enum을 선언할 때에는 탭을 삽입하시기 바랍니다.struct, union, enum 타입의 변수를 만들 때에는 자료형에 스페이스가 하나 존재해야 합니다. (예: struct 스페이스바 s_abc 탭 a;).c 파일에 선언하는 하지 마십시오.typedefstruct, union, enum을 좀 더 간편하게 쓸 수 있도록 별칭을 만드는 것. 예를 들어 이미 만들어둔 s_abc 구조체에 대해 typedef struct s_abc t_abc 라고 하게 되면 앞으로 struct s_abc 라고 길게 쓰지 않고 t_abc 로 간편하게 쓸 수 있다.
