..

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언어 시험에서는 연산자 우선순위포인터가 가리키는 실제 데이터 유형을 정확히 파악하는 것이 득점의 열쇠입니다.