나는 C 상당히 새로운 오전 그리고 난 다음 두 명령문은 동일한 결과를 생성하지 않는 이유를 이해하지 않습니다C에서 NULL에 대한 포인터의 동적 배열을 초기화하는 방법은 무엇입니까?
char *fields[14] = {NULL};
const int num_fields = 14;
char *fields[num_fields] = {NULL};
옵션 1 개 작품,하지만, 옵션 2는 그렇지 않습니다. 그것은 "가변 크기의 객체가 초기화되지 않을 수도있다"고 경고하며 "경고 : 배열 초기화 자의 초과 요소"를 경고합니다. OSX에서 gcc 4.2.1을 사용합니다.
의견을 보내 주셔서 감사합니다.
아마도 이것은 'const int'가 반드시 일정한 값일 필요가 없기 때문에 가능할 것으로 생각합니다. 나는 당신이 const에 대한 포인터를 얻고 기본 값을 수정할 수 있다고 믿는다. – Lazarus