본문 바로가기

전역변수

(2)
C 언어 | 왜 배열을 선언할 때 상수 변수값을 크기로 지정할 수 없을까? 문제 상황 프로그램을 짜던 중 배열의 크기가 자주 사용될 것 같아 전역 변수로 상수 변수값인'const int NUMBER_IN_ARRAY = 5'를 선언했다. 그리고 main함수 내에서 배열을 선언할 때 그 크기 값을 NUMBER_IN_ARRAY로 지정했다. 컴파일을 하니 바로 컴파일 에러가 났다.(variable-sized object may not be initialized) 왜 배열을 선언할 때 상수 변수값을 크기로 지정할 수 없을까? 원인 파악 우선 배열의 선언 방법을 다시 알아봐야 한다. C/C++에서 배열은 선언할 때 크기가 지정되어야 한다. 이때 대괄호 []를 사용하는데, 크기는 고정된 상수여야 하며 변수는 사용할 수 없다. 내가 사용한 const int도 결국 초기값을 변경할 수 없는 변..
C 언어 | 배열 ✔ 학습목표 배열을 정의하고 사용하는 방법을 설명할 수 있다. 배열 아래와 같이 세 개의 점수를 저장하고 평균을 출력하는 프로그램을 예로 들어보자. #include #include int main(void) { // Scores int score1 = 72; int score2 = 73; int score3 = 33; // Print average printf("Average: %i\n", (score1 + score2 + score3) / 3); } 만약 점수의 개수가 더 많아진다면 이 프로그램은 많은 부분을 수정해야 한다(변수 선언, 계산식 등). 이 때 활용할 수 있는 것이 배열이다. 배열은 같은 자료형의 데이터를 메모리상에 연이어서 저장하고 이를 하나의 변수로 관리한다. 위 코드에서 배열을 사용하..