inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

홍정모의 따라하며 배우는 C언어

10.17 변수로 길이를 정할 수 있는 배열

상수를 통한 배열 크기 선언과 가변길이 선언의 다른 점이 무엇인가요?

200

kh2mail

작성한 질문수 1

3

안녕하세요!

강의를 듣던 중 궁금한 것이 생겨 두 가지 질문을 남깁니다.

1. 이전 강의에서 상수(매크로)를 이용한 배열 크기 선언에 대해 학습하였습니다. 초보자 입장에서는 가변 길이 방식의 선언과 상수를 이용한 방식이 유사해보입니다.

그런데 가변 길이 방식을 지원하지 않는다는 것은 상수를 이용한 방식과 차이점이 있다고 생각하여 차이점이 무엇인지 궁금합니다!

2. 인터넷 검색을 해보니 강의에서 말씀 해주신 것처럼  Visual Studio의 컴파일러 말고 다른 컴파일러에서는 해당 기능을 지원한다고 들었습니다. 혹시 Visual Studio의 컴파일러에서 해당 기능을 지원하지 않는 이유가 무엇인지 알 수 있을까요?

감사합니다!

c

답변 1

2

홍정모

"컴파일할 때 배열의 크기를 알 수 있느냐 없느냐" 즉, 컴파일러의 관점에서 생각해보세요.

다만, C언어는 문법을 매우 보수적으로 관리하고 있어서 요즘 새로 공부를 시작한 프로그래머들 입장에서는 당연한 것들도 절대 안된다고 막아버리는 경우가 많습니다. 알고보면 과거의 이런저런 이유때문에 문법을 바꿀경우 기존의 코드들에 큰 문제가 생기기 때문입니다.

Export template 안됨

1

27

2

완전히 똑같이 따라해도 exe파일이 안만들어져서 실행이 안됩니다.

1

56

3

main 함수에서 왜 int만 선언이 되는걸까요

1

57

2

8비트 2진수 변환시 왜 1을 더해야하나요?

1

55

2

혹시 강의를 빠르게 수강하려면 어디서부터 듣는게 좋을까요?

1

49

1

프로토타입과 함수간의 인자 불일치

1

73

2

12.12 헤더 관련 질문

1

60

2

Visual Studio Community 2026 사용 문의

1

138

2

Q. 15:30, 부호가 있는 8비트 정수 질문

1

61

2

getchar(), putchar()

1

94

3

강의자리ㅛ

1

80

2

비주얼스튜디오코드로 공부해도 상관없나요?

1

114

2

소스파일안에 여러 파일

1

76

2

F5와 F7의 차이

1

79

2

c = TWO * (a+b); 에서 a와 b는?

1

59

2

; 세미콜론을 붙이는 기준에 문의

1

70

1

Step over 기능 문의

1

53

2

2.6 강의 따옴표 출력 규칙 문의

1

76

2

int main 함수 관련 오류 문의

1

67

2

13.4 words[0]

0

61

2

11.7 함수를 구현해 봤습니다.

1

62

2

11.6 직접 strcmp와 strncmp를 구현해 보았습니다.

1

65

2

11.6 my_strcat과 my_strncat을 구현해봤습니다.

1

53

2

11.6 fit_str함수를 구현해 봤습니다.

1

54

2