c語言數組初始化為0
⑴ c語言中怎麼把一維數組初始化為全零啊,不用循環
下面3種方法:
1.int arr[10]={0};
如果只對數組的一部分進行初始化,則編譯器將把其他元素設置為0。因此,當只將第一個元素初始化為0時,編譯器會自動將其他元素設為0 (就像前一句說的那樣)。
2.int arr[31]={};
3.用memset函數在程序開始時初始化數組。比如:
int arr[1024];
memset(arr, 0, 1024); //清零
(1)c語言數組初始化為0擴展閱讀:
memset()函數原型是extern void *memset(void *buffer, int c, int count) buffer:為指針或是數組,c:是賦給buffer的值,count:是buffer的長度。
函數解釋:將s中當前位置後面的n個位元組 (typedef unsigned int size_t )用 ch 替換並返回 s 。
memset:作用是在一段內存塊中填充某個給定的值,它是對較大的結構體或數組進行清零操作的一種最快方法 ,它通常為新申請的內存做初始化工作。
⑵ c語言 怎麼把一個二維數組初始化為空
利用給數組賦值時未賦值部分C系統自動賦值為0是一種方法。
還可以利用memset()函數, 它可以一位元組一位元組地把整個數組設置為一個指定的值。 memset()函數在string.h和mem.h頭文件中聲明,它把數組的起始地址作為其第一個參數,第二個參數是設置數組每個位元組的值,第三個參數是數組的長度(位元組數,不是元素個數)。其函數原型為:
void *memset(void*,int,unsigned);
其中void*表示起始地址,int 表示要填充的值,最後的unsigned表示填充的位元組數。
例如:
#include<string.h>
void main()
{
int a[10][20]={0}; //方法一,所有初始化為0
int *p[10][20]={NULL};
char c[10][20]={'\0'};
double b[50][200]};
memset(b,0,sizeof(b)); //方法二,所有初始化為0
}
⑶ C語言中怎麼把一維數組初始化都為0,
1、首先,需要定義數組,數組常用類型有int型,float浮點型,char字元型等,輸入即可定義。
⑷ c語言中三維數組怎樣初始化為0
memset(void*p,int ch,size_t n)函數功能:以指針p指向的內存空間為起始,將其後n個位元組的空間全部賦值為ch.該函數頭文件為<string.h>或<memory.h>
使用該函數初始化數組為0
#include<stdio.h>
#include<string.h>
voidmain()
{
inta[2][3][4];
a[1][2][3]=1;
memset(a,0x00,sizeof(a));
/*測試是否初始化為0*/
printf("a[1][2][3]=%d ",a[1][2][3]);
}
運行結果
⑸ c語言中怎麼把一維數組初始化為全零啊,不用循環
具體初始化方法可以參考如下程序段:(方法一)
int a[5] = {0}; // 將整型數組a的每個元素都初始化為0
或者也可以用如下方法進行初始化:(方法二)
int a[5] = {0, 0, 0, 0, 0}; // 將整型數組a的每個元素都初始化為0,初始化效果同上
方法一的初始化方法是將數組元素都初始化為同一個數值;
方法二的初始化方法可以分別對數組的每個元素進行初始化,每個元素的數值可以不同。