배열이 경우에 초기화 목록을 의미한다. 5.
당신은 쓸 수
당신이 요소 1, 2, 3, 4 배열을 정의 할 예를 들어 가정 해 보자는
int a[5];
a[0] = 1;
a[1] = 2;
a[2] = 3;
a[3] = 4;
a[4] = 5;
그러나 C++ 배열의 요소를 할당 할 수 있습니다 그것이 정의 될 때. 동일한 레코드가 표시됩니다
int a[5] = { 1, 2, 3, 4, 5 };
배열의 크기보다 작은 초기화 프로그램이 있으면 나머지 요소는 0으로 초기화됩니다. 이 경우 예
int a[5] = { 1, 2 };
들어 [0]와 동일 TP 1은 [1] (2)와 동일 할 것이다되고 모든 다른 요소는 당신의 크기를 생략 할 수 0
동일 할 것이다 배열.예를 들어
int a[] = { 1, 2, 3, 4, 5 };
이 경우 컴파일러는 이니셜 라이저 목록에 초기화 프로그램이있는 배열의 요소를 할당합니다. (이것은 허용되지 않는 C에서만 ++ C 유효.)
녹화
int a[5] = {};
0으로 초기화한다 어레이의 모든 원소
int a[5] = { 0 };
동등 마지막 레코드에서 첫 번째 요소는 명시 적으로 0으로 초기화되고 다른 모든 요소는 이니셜 라이저 목록의 이니셜 라이저가 지정되지 않았기 때문에 0으로 초기화됩니다.
스칼라 개체도 초기화 할 수있는 것과 같은 방법입니다. 예 :
int x = {10};
유일한 차이점은 하나의 초기화 프로그램 만 지정할 수 있다는 점입니다. 당신은, 당신은 또한 대신 중괄호가 필요한 이유를 묻는 0
에 의해 초기화됩니다이 경우 X의
를 쓸 수 있습니다 할당 연산자
없이 당신을 쓸 수 있습니다 왜 '0'이 필요한지 묻고 있어야합니다. 그렇지 않습니다. 여기에 이니셜 라이저가 있으며, 배열의 해당 항목을 초기화하기 위해 지정된 값을 사용하고, 배열의 나머지를 0 (또는 유형의 기본값)으로 초기화합니다. –
그래도 여전히 그들은 어떤 목적으로 봉사하고 있습니까? – Skathix
이들은 2D 배열이 아니며 일반 C 스타일 배열입니다. – blackbird