반응형
C에서 배열을 0으로 초기화하는 방법은 무엇입니까?
C에서 전역으로 큰 null 배열이 필요합니다. 입력하는 것 외에이 작업을 수행하는 방법이 있습니까
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으로 다시 설정하려는 경우 유용합니다.
배열을 0 이외의 값으로 초기화하려면 gcc
다음을 수행하십시오.
int array[1024] = { [ 0 ... 1023 ] = -1 };
이것은 C99 지정 초기화 프로그램의 GNU 확장입니다 . 이전 GCC에서는 -std=gnu99
코드를 컴파일하는 데 사용해야 할 수 있습니다.
참고 URL : https://stackoverflow.com/questions/2589749/how-to-initialize-array-to-0-in-c
반응형
'development' 카테고리의 다른 글
AngularJS : 디자인 패턴 이해 (0) | 2020.06.14 |
---|---|
SQL 쿼리를 사용하여 문자열을 int로 변환 (0) | 2020.06.14 |
Android에서 RxJava를 사용하는시기와 Android Architectural Components에서 LiveData를 사용하는시기는 언제입니까? (0) | 2020.06.14 |
Jquery UI 대화 상자에서 "확인"대화 상자를 구현하는 방법은 무엇입니까? (0) | 2020.06.14 |
Django 쿼리 세트에서 필터 이하를 수행하는 방법은 무엇입니까? (0) | 2020.06.14 |