[英]How to initialize a dynamic int array elements to 0 in C
我創建了一個動態數組,我需要將所有成員初始化為0.如何在C中完成?
int* array;
array = (int*) malloc(n*sizeof(int));
memset(array, 0, n*sizeof(int));
或者,您可以使用calloc
分配您的內存塊,它會為您執行此操作:
array = calloc(n, sizeof(int));
calloc
文檔:
void * calloc(size_t nmemb,size_t size);
calloc()函數為每個大小為字節的nmemb元素數組分配內存,並返回指向已分配內存的指針。 內存設置為零。 ...
使用calloc
函數( 用法示例 ):
int *array = calloc(n, sizeof(int));
來自calloc
參考頁面 :
void *calloc(size_t nelem, size_t elsize);
calloc()
函數應為nelem
元素數組分配未使用的空間,每個元素的大小(以字節為單位)為elsize
。 該空間應初始化為所有位0。
memset(array, 0, n * sizeof *array);
for (i=0; i<x; ++i){
array[i]=0;
}
這應該夠了吧。 我想你必須創建一個循環,使數組中的每個元素都為0。 Memset也可以為你工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.