C언어 구조체 배열

코딩C언어
읽는데 2분 소요
처음 쓰여진 날: 2026-03-19
마지막 수정일: 2026-03-19
조회수: 0

요약

C언어 구조체 배열의 선언과 초기화, 바깥 중괄호 생략 패턴, 구조체 배열과 포인터 접근 방법을 알아봅니다. 정보처리기사 실기에 출제된 구조체 배열 문제를 풀기 위한 핵심 개념을 정리합니다.

구조체 배열이란?

구조체배열로 선언할 수 있습니다. 배열의 각 요소가 구조체인 형태입니다.

c
코드 하이라이팅 중...
구조체 배열
구조체 배열은 각 칸에 구조체가 들어있는 배열입니다. students[0], students[1], students[2]로 접근합니다.

바깥 중괄호 생략

위 코드에서는 각 구조체 요소를 {}로 감쌌지만, C언어에서는 바깥 중괄호를 생략할 수 있습니다. 컴파일러가 구조체 멤버 순서대로 값을 자동 분배합니다.

c
코드 하이라이팅 중...

컴파일러는 멤버 순서대로 값을 채웁니다. Student 구조체가 name, score[3] 순서이므로:

분배 위치이유
"Kim"s[0].name첫 번째 멤버(name)에 대입
{0xA0, 0xA5, 0xDB}s[0].score두 번째 멤버(score 배열)에 대입
"Lee"s[1].names[0]이 다 채워졌으므로 s[1]로 이동
{0xA0, 0xED, 0x81}s[1].scores[1]의 두 번째 멤버에 대입

구조체 배열과 포인터

구조체 배열의 특정 요소를 포인터로 가리킬 수 있습니다. 구조체가 자기 자신을 가리키는 포인터를 멤버로 가지면 연결 리스트를 만들 수 있습니다. 연결 리스트의 노드는 주로 동적 메모리 할당으로 생성합니다.

c
코드 하이라이팅 중...
구조체 배열 포인터
포인터 p가 구조체 배열의 두 번째 요소(students[1])를 가리킵니다.

정보처리기사 실기 대비 문제

관련 글

(29개)
제목태그시험
C언어 구조체 포인터
C언어
-
C언어 함수 프로토타입
C언어
-
C언어 함수의 기초
C언어
-