기본 패턴
c
struct Student {
char name[20];
int score;
};설명
- 구조체는 서로 관련된 여러 값을 하나의 레코드처럼 묶고 싶을 때 사용합니다.
- 필드는 점 연산자
.로 접근하고, 포인터가 가리키는 구조체는->로 접근합니다. - 배열과 구조체를 조합하면 학생 목록, 좌표 목록 같은 자료구조를 자연스럽게 표현할 수 있습니다.
typedef를 함께 쓰면 구조체 이름을 더 간결하게 다룰 수 있습니다.
짧은 예제
c
#include <stdio.h>
typedef struct {
char name[20];
int score;
} Student;
int main(void) {
Student first = {"Mina", 95};
printf("%s %d\n", first.name, first.score);
return 0;
}빠른 정리
| 항목 | 설명 |
|---|---|
struct | 사용자 정의 레코드 타입 |
. | 일반 구조체 변수의 필드 접근 |
-> | 구조체 포인터의 필드 접근 |
typedef | 타입 이름을 짧게 별칭 지정 |
| 배열 + 구조체 | 표 형태 데이터를 표현하기 좋음 |
주의할 점
구조체 대입은 가능하지만, 구조체 안에 포인터가 있을 때는 얕은 복사가 일어난다는 점을 따로 생각해야 합니다.