본문 바로가기
School Study/방통대

Day13

by bell_one 2026. 8. 19.

C프로그래밍

[문제 1]

C언어에서 구조체(struct) 변수의 포인터를 통해 구조체 멤버에 접근할 때 사용하는 간접 접근 연산자(화살표 연산자)는 무엇인가요?

① .

② ->

③ *

④ &

상세 해설:

  • -> (화살표 연산자): 구조체 포인터 변수를 통해 멤버에 접근할 때 사용합니다. ptr->name은 (*ptr).name과 완전히 동일 표현입니다.
  • . (점 연산자): 일반 구조체 변수에서 멤버에 접근할 때 사용합니다.

[문제 2]

C언어에서 함수가 자기 자신을 다시 호출하는 프로그래밍 기법을 무엇이라고 하나요? (종료 조건이 없으면 무한 루프에 빠지게 됩니다.)

① 재귀 호출 (Recursion)

② 콜백 (Callback)

③ 오버로딩 (Overloading)

④ 인라인 (Inline)

상세 해설:

  • 재귀 호출 (Recursion): 함수 내부에서 자기 자신을 직접 또는 간적으로 다시 호출하는 기법입니다. 팩토리얼, 피보나치 수열, 트리 탐색 등에 자주 활용되며 반드시 탈출(종료) 조건이 필요합니다.

[문제 3]

C언어에서 헤더 파일 중복 포함을 방지하거나 조건에 따라 코드를 선택적으로 컴파일하기 위해 사용하는 전처리기(Preprocessor) 지시자로 올바르지 않은 것은 무엇인가요?

① #define

② #ifndef

③ #include

④ #import

상세 해설:

  • #import: Objective-C 등에서 쓰이는 지시자로, C언어 표준 전처리기 지시자가 아닙니다. C언어에서는 헤더 중복 방지를 위해 #ifndef, #define, #endif 조합을 사용합니다.

[문제 4]

C언어에서 메모리 공간을 동적으로 할당할 때, 할당할 요소의 개수와 각 요소의 크기를 인자로 받으며 할당된 메모리 공간을 자동으로 0으로 초기화해 주는 함수는 무엇인가요?

① malloc()

② calloc()

③ realloc()

④ free()

상세 해설:

  • calloc() (Clean Allocation): 메모리 공간을 할당함과 동시에 모든 바이트를 0으로 자동 초기화합니다. (malloc은 초기화되지 않은 쓰레기 값이 들어있습니다.)
  • realloc(): 이미 할당된 메모리의 크기를 재조정(확장/축소)합니다.

[문제 5]

C언어의 main 함수에서 명령행 인자(Command Line Arguments)를 전달받을 때, 전달된 인자의 개수를 나타내는 첫 번째 매개변수의 이름으로 통상 쓰이는 것은 무엇인가요?

① argv

② argc

③ args

④ envp

상세 해설:

  • argc (Argument Count): 전달된 명령행 인자의 개수(정수)를 저장합니다.
  • argv (Argument Vector): 전달된 인자 문자열들의 배열(포인터 배열)을 가리킵니다.

'School Study > 방통대' 카테고리의 다른 글

Day15  (0) 2026.08.28
Day14  (0) 2026.08.26
Day12  (0) 2026.08.18
Day11  (0) 2026.08.14
Day10  (0) 2026.08.13