programing

어레이를 0(C)으로 초기화하려면 어떻게 해야 합니까?

procenter 2022. 8. 10. 22:00
반응형

어레이를 0(C)으로 초기화하려면 어떻게 해야 합니까?

글로벌하게 C에 큰 늘 어레이가 필요합니다.타이핑하는 것 말고 다른 방법이 있나요?

char ZEROARRAY[1024] = {0, 0, 0, /* ... 1021 more times... */ };

?

글로벌 변수와 정적 변수는 자동으로 0으로 초기화됩니다.간단히 말하면

char ZEROARRAY[1024];

글로벌 스코프에서는 실행 시 모두 0이 됩니다.그러나 로컬 어레이가 있는 경우 실제로 약어 구문이 있습니다.어레이가 부분적으로 초기화된 경우 초기화되지 않은 요소는 적절한 유형의 값 0을 받습니다.다음과 같이 쓸 수 있습니다.

char ZEROARRAY[1024] = {0};

컴파일러는 작성되지 않은 엔트리를 0으로 채웁니다.또는 다음 명령을 사용할 수 있습니다.memset프로그램 시작 시 어레이를 초기화하려면:

memset(ZEROARRAY, 0, 1024);

이 기능은 변경 후 모든 제로로 리셋하는 경우에 편리합니다.

어레이를 0 이외의 값으로 초기화하려면gcc다음 작업을 수행할 수 있습니다.

int array[1024] = { [ 0 ... 1023 ] = -1 };

이것은 C99 Designated Initializer의 GNU 확장입니다.오래된 GCC에서는,-std=gnu99코드를 컴파일합니다.

언급URL : https://stackoverflow.com/questions/2589749/how-to-initialize-array-to-0-in-c

반응형