C언어 구조체 포인터
코딩C언어
읽는데 2분 소요
처음 쓰여진 날: 2026-03-19
마지막 수정일: 2026-03-19
조회수: 2
요약
C언어 구조체 포인터의 개념과 화살표 연산자(->), 함수에서 구조체 포인터를 매개변수로 전달하여 원본을 수정하는 패턴을 알아봅니다. 정보처리기사 실기에 자주 출제되는 구조체 포인터 활용법을 정리합니다.
화살표(->) 연산자
구조체 포인터에서 멤버에 접근할 때는 화살표(->) 연산자를 사용합니다.
c
코드 하이라이팅 중...

p->id는(*p).id와 동일합니다. 화살표 연산자가 더 간결해서 주로 사용됩니다.
단계별로 풀어서 해석하기
->가 연속으로 이어지면 왼쪽부터 한 단계씩 풀어서 해석합니다.
c
코드 하이라이팅 중...
c
코드 하이라이팅 중...
이 방식은 -> 체인이 길어질수록 유용합니다. 자세한 내용과 3단 이상 예시는 연결 리스트 - 단계별로 풀어서 해석하기를 참고하세요.
함수에서 구조체 포인터 사용
구조체 포인터를 함수의 매개변수로 전달하면, 함수 내에서 원본 구조체의 값을 직접 수정할 수 있습니다. 이 패턴은 시험에 자주 출제됩니다.
c
코드 하이라이팅 중...
| 호출 방식 | 설명 |
|---|---|
init(&ba, ...) | ba의 주소를 전달 |
a->acc = x | 포인터로 원본 멤버에 접근하여 수정 |
typedef를 사용하면
struct Acc를Acc로 간결하게 쓸 수 있습니다.