반응형
어레이를 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
반응형
'programing' 카테고리의 다른 글
티멜리프에서의 if-else는 어떻게 합니까? (0) | 2022.08.10 |
---|---|
NuxtJ 및 vuex-module-decorator를 사용하는 다이내믹 vuex 스토어 모듈 (0) | 2022.08.10 |
Vuex 작업으로 라우터 매개 변수 가져오기 (0) | 2022.08.10 |
VueJS Vuex - 상태 변경 시 해결 약속? (0) | 2022.08.10 |
Android에서 선택한 RadioGroup 인덱스를 가져오는 방법 (0) | 2022.08.10 |