..
C언어 구조체와 포인터: 핵심 기출 포인트 정리
1. 구조체 포인터와 접근 연산자
C언어에서 구조체를 다룰 때 가장 빈번하게 출제되는 개념은 멤버 접근 방식입니다.
- 구조체 변수:
.연산자를 사용합니다. (예:data.num) - 구조체 포인터:
->연산자를 사용합니다. (예:pData -> num)
2. 포인터 주소 연산의 묘미
포인터 타입에 따라 주소 증가 시 실제 이동하는 바이트 수가 달라집니다.
char* p = "KOREA";
printf("%s", p + 1); // 'O'부터 출력: OREA
printf("%c", *p + 4); // 'K'의 아스키코드 + 4 값 출력: O
3. 재귀함수와 팩토리얼 구현
재귀의 종료 조건(base case)이 명확해야 무한 루프를 방지할 수 있습니다.
int f(int n) {
if(n <= 1) return 1;
else return n * f(n - 1); // f(7) 호출 시 7! 결과인 5040 반환
}
C언어 시험에서는 연산자 우선순위와 포인터가 가리키는 실제 데이터 유형을 정확히 파악하는 것이 득점의 열쇠입니다.