25 가장 일반적인 C 인터뷰 질문 및 답변 [신입생을 위한]
게시 됨: 2020-12-18C는 절차적, 명령적, 구조화된 패러다임을 지원하는 강력한 범용 프로그래밍 언어입니다. 광범위한 컴퓨터 아키텍처(PLC, 임베디드 시스템 등)를 위한 운영 체제, 데이터베이스 및 응용 프로그램 소프트웨어를 개발하는 데 사용됩니다. C는 배우기 쉬운 우수한 초보자 친화적인 언어입니다.
소프트웨어 개발 분야에서 경력을 쌓고자 하는 사람은 누구나 C의 기초를 마스터해야 합니다. C 프로그래밍 언어의 핵심을 배운 후에는 C 면접을 볼 준비가 된 것입니다!
이 블로그에서는 가장 자주 묻는 C 인터뷰 질문 중 일부를 안내합니다. 일반적으로 면접은 해당 주제(이 경우 C 프로그래밍 언어)에 대한 기본 지식을 테스트하는 것으로 시작하여 점차적으로 해당 분야의 실용적인 기술을 탐구하는 단계로 넘어갑니다.
그럼, 더 이상 고민하지 않고 가장 자주 묻는 C 면접 질문 25개를 확인해보자!
C 면접 질문 및 답변
- C의 핵심 기능은 무엇입니까?
C 프로그래밍 언어는 다음과 같습니다.
- 중급 – C는 저급 및 고급 언어의 최고의 기능을 결합하여 중급의 세련된 프로그래밍 언어를 만듭니다.
- 구조화 – C는 구조화된 언어로, C 프로그램이 여러 부분으로 분할됩니다.
- 이식성 – C로 프로그램을 작성하면 최소한의 변경 또는 변경 없이 모든 시스템에서 실행할 수 있습니다.
- Fast – C는 다양한 데이터 유형과 연산자를 사용하여 매우 빠르고 효율적입니다.
- 확장 가능 – C는 새로운 기능에 원활하게 적응할 수 있으므로 확장성이 뛰어납니다.
- 메모리 관리 – C에는 메모리를 절약하고 C 프로그램의 효율성을 향상시키는 내장 메모리 기능이 있습니다.
- C는 어떤 데이터 유형을 지원합니까?
C에는 네 가지 범주의 데이터 유형이 있습니다.

- 기본 데이터 유형
- 파생 데이터 유형
- 열거 데이터 유형
- 무효 데이터 유형
- C 언어의 "Dangling Pointer Variable"에 대해 설명합니다.
C 프로그래밍에서 포인터는 기존 변수의 메모리 위치 또는 주소를 나타냅니다. 그러나 해당 변수가 삭제되고 포인터가 동일한 메모리 위치를 가리키면 이를 댕글링 포인터 변수라고 합니다.
- "포인터 온 포인터"란 무엇입니까?
"포인터 상의 포인터"는 다른 포인터 변수의 주소를 보유하는 포인터 변수를 나타냅니다. 본질적으로 포인터는 지정된 포인터 변수에 포함된 데이터를 나타내기 위해 두 번 역참조합니다.
- "배열"을 정의합니다.
배열은 조직화된 방식으로 동일한 데이터 유형의 여러 요소를 포함하는 데이터 구조입니다. 배열은 일반적으로 1차원, 2차원 및 3차원의 세 가지 유형이 있습니다.
- 정적 변수란 무엇입니까? C에서 정적 변수를 사용하는 이유는 무엇입니까?
정적 변수는 "Static" 키워드로 선언된 변수입니다. 정적 변수는 여러 함수 호출 간에 값을 유지합니다.
정적 변수는 모든 메서드가 공유하는 공통 값으로 사용되며 메모리 사용량을 줄이기 위해 메모리 힙에서 한 번만 초기화됩니다. 정적 변수는 초기에 0으로 초기화되지만 변수의 값을 업데이트하면 업데이트된 값이 할당됩니다.
- 변수의 "범위"를 정의합니다.
변수의 범위는 변수가 선언된 코드(함수) 부분을 나타냅니다. C 프로그래밍 언어에서 모든 식별자는 정적으로 또는 어휘적으로 범위가 지정됩니다.
- 동적 메모리 할당이란 무엇입니까?
동적 메모리 할당은 런타임 동안 C 프로그램 및 해당 변수에 메모리를 할당하는 절차입니다. malloc(), calloc() 및 realloc()이 메모리를 할당하는 동안 free() 함수는 사용된 메모리 공간을 해제합니다.
읽기 : SQL 인터뷰 질문 및 답변
- calloc()과 malloc() 함수의 차이점을 설명합니다.
C에서 calloc()과 malloc()은 모두 힙 영역(동적 메모리)에서 메모리를 할당하는 메모리 할당 함수입니다. 두 메모리 할당 함수의 주요 차이점은 calloc()은 할당된 모든 메모리 위치를 값 0으로 로드하지만 malloc()은 로드하지 않는다는 것입니다.
- "정적 메모리 할당"을 설명합니다.
런타임에 메모리를 할당하는 동적 메모리 할당과 달리 정적 메모리 할당은 컴파일 중에 메모리를 할당합니다. 정적 메모리 할당을 사용하면 C 프로그램이 실행되는 동안 메모리 할당을 늘릴 수 없습니다. 스택/힙을 사용하여 정적 메모리를 구현하고 "Static" 키워드를 사용하여 메모리를 할당할 수 있습니다. 일반적으로 정적 메모리 할당은 동적 메모리 할당보다 변수를 저장하는 데 더 많은 메모리 공간이 필요합니다.
- C 토큰의 이름을 지정하시겠습니까?
토큰은 식별자입니다. 일반적으로 C 프로그램에서 가장 작은 단위입니다. 상수, 문자열, 키워드, 연산자, 식별자 및 특수 문자는 C 프로그램 작성에 사용되는 몇 가지 C 토큰입니다.
- C 코드는 main() 함수 없이 컴파일되거나 실행됩니까?
main() 함수가 없으면 C 프로그램을 실행하는 데 main() 함수가 필수이기 때문에 C 프로그램이 실행되는 대신 컴파일됩니다.
- "중첩 구조"를 정의하십시오.
중첩 구조는 함수의 요소 또는 데이터 멤버가 다른 구조의 데이터 멤버를 포함할 때 생성됩니다.

- 실제 매개변수와 형식 매개변수를 구별합니다.
실제 매개변수는 기본 함수에서 세분화된 함수로 전송되며, 세분화된 함수로 선언된 매개변수를 형식 매개변수라고 합니다.
- 전처리기 지시문이란 무엇입니까?
전처리기 지시문은 컴파일 프로세스가 시작되기 전에 특정 작업을 수행하기 위해 컴파일러에 지시문으로 기능하는 내장된 미리 정의된 기능입니다. 따라서 전처리기 지시문은 항상 C 프로그램이 실행되기 전에 실행됩니다.
- "명령줄 인수"를 정의합니다.
C 프로그램을 실행하는 동안 main() 함수에 전달되는 인수를 명령줄 인수라고 합니다. 첫 번째 인수는 인수 수를 나타내며 운영 체제에서 자동으로 업데이트됩니다. 두 번째 인수(문자 포인터 배열)는 항상 문자열을 매개변수로 포함합니다.
- 함수에 매개변수를 할당하는 방법은 무엇입니까?
함수에 매개변수를 할당하는 방법에는 두 가지가 있습니다.
- 값에 의한 호출 – 이 방법은 실제 매개변수를 형식 매개변수로 변경하지 않으려는 경우에만 선택되므로 값의 복사본만 함수에 매개변수로 보냅니다.
- 참조에 의한 호출 – 이 접근 방식에서는 실제 매개변수의 주소를 보내 형식 매개변수를 사용하여 수정합니다.
확인: 전체 스택 개발자 인터뷰 질문
- C에서 "연합"이란 무엇입니까?
C에서 Union은 단일 단위에 여러 데이터 유형을 저장할 수 있는 사용자 정의 데이터 유형입니다. 모든 멤버의 총 메모리 대신 가장 큰 멤버의 메모리만 포함합니다. Union은 Union의 모든 구성원에게 공유 공간을 할당하므로 Union에서 한 번에 하나의 변수에만 액세스할 수 있습니다.
- "재귀"를 설명합니다.
재귀는 함수가 자신을 호출하는 경우이며, 자신을 호출하는 함수를 재귀 함수라고 합니다. 재귀 함수는 두 단계로 발생합니다.
- 권선 단계 – 재귀 함수가 자신을 호출하고 원하는 조건을 충족하면 권선 단계가 종료됩니다.
- 풀기 단계 – 감기 단계에 도달하면 컨트롤을 원래 호출로 되돌려 풀기 단계가 시작됩니다.
- C에서 함수를 선언하는 방법?
다음과 같이 C에서 함수를 선언할 수 있습니다.
return_type function_name(공식 매개변수 목록)
{
기능_바디;
}
- sprintf() 함수는 무엇을 합니까?
sprintf() 함수는 문자열을 인쇄하는 데 사용됩니다. 문자열의 총 문자 수를 가져옵니다. 이 함수는 데이터를 버퍼로 전송하므로 화면에 출력을 인쇄하지 않습니다. sprintf() 함수의 구문은 다음과 같습니다.
int sprintf ( char * str, const char * 형식, … );
- getch() 및 getche() 함수를 구별합니까?
C 프로그램에서 getch() 함수는 키워드에서 단일 문자를 읽습니다. 버퍼를 사용하지 않기 때문에 입력한 데이터가 화면에 표시되지 않습니다. 반대로 getche() 함수도 키워드에서 단일 문자를 읽는 동안 데이터를 화면에 표시합니다.
- "Rvalue"와 "Ivalue"란 무엇입니까?
Rvalue는 할당 연산자의 오른쪽에 있는 표현식입니다. 할당 연산자에 있는 Ivalue에 할당됩니다. lvalue는 상수가 아닌 변수만 참조해야 합니다.
- C에서 다른 스토리지 클래스 지정자의 이름을 지정합니다.
C에는 4개의 저장 지정자가 있습니다.

- 자동
- 공전
- 등록하다
- 통근자
- "와 < >로 헤더 파일을 선언하는 것 사이에 차이점이 있습니까?
" "를 사용하여 헤더 파일을 선언하면 컴파일러는 현재 작업 디렉토리에서 헤더 파일을 검색하고, 거기에서 파일을 찾지 못하면 헤더 파일을 찾기 위해 다른 위치를 검색합니다. 그러나 < >를 사용하여 헤더 파일을 선언하면 컴파일러는 내장 경로를 따라 파일을 검색합니다.
확인: 면접에서 돋보이게 하는 15가지 면접 팁
세계 최고의 대학 에서 소프트웨어 엔지니어링 과정 에 등록하십시오 . 이그 제 큐 티브 PG 프로그램, 고급 인증 프로그램 또는 석사 프로그램을 획득하여 경력을 빠르게 추적하십시오.
결론
자, 이제 다음 면접을 준비하는 데 도움이 되는 25개의 C 면접 질문과 답변입니다. 이러한 질문은 C 프로그래밍의 표면을 긁는 것일 뿐이지만 C 인터뷰에서 기대할 수 있는 것에 대한 아이디어를 제공할 수 있기를 바랍니다.
전체 스택 소프트웨어 개발에 대해 자세히 알아보려면 upGrad & IIIT-B의 전체 스택 소프트웨어 개발 이그 제 큐 티브 PG 프로그램을 확인하십시오. 과제, IIIT-B 동문 자격, 실질적인 실습 캡스톤 프로젝트 및 최고의 기업과의 취업 지원.
