C의 배열 선언: 상수 값 표현식 이해
C에서 다음과 같이 가변 차원을 기반으로 배열을 만들려고 할 때:
int row = 8; int col = 8; int [row][col];
'식은 상수 값을 가져야 합니다' 같은 오류가 발생할 수 있습니다. 이 오류는 컴파일 시 배열 크기를 고정해야 하기 때문에 발생합니다.
이 문제를 해결하려면 두 가지 옵션이 있습니다:
1. 동적 배열 할당:
동적 크기 배열의 경우 힙에 메모리를 할당하고 할당 및 할당 해제를 수동으로 관리해야 합니다. 다음과 같이 할 수 있습니다:
// Allocate the array int** arr = new int*[row]; for (int i = 0; i < row; i++) { arr[i] = new int[col]; } // Use the array // Deallocate the array for (int i = 0; i < row; i++) { delete[] arr[i]; } delete[] arr;
2. 상수 선언된 배열:
배열 크기가 고정된 경우 상수를 사용하여 선언할 수 있습니다.
const int row = 8; const int col = 8; int arr[row][col];
첫 번째 예에서 배열 선언에는 변수 이름이 없습니다. 별도의 컴파일 오류가 발생합니다. 또한 컴파일러에는 정적으로 알려진 경계와 최적화된 리소스 관리를 보장하기 위해 배열 크기 선언에 대한 상수 값 표현식이 필요합니다.
위 내용은 C 배열 선언에 상수 값 식이 필요한 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!