本文目錄一覽:
- 1、C語言如何讓數組裡所有元素都為0,不是清空數組元素
- 2、C語言里有沒有把數組元素全部賦值為0的函數
- 3、如何將數組初始化為0
- 4、c語言中怎麼把一維數組初始化為全零啊,不用循環
- 5、c語言數組怎麼清零
C語言如何讓數組裡所有元素都為0,不是清空數組元素
只需要初始化的時候,將初始化值設置為0即可。
int a[10] = {0};
測試程序如下:
#includestdio.h
int main()
{
int a[10] = {0};
for (int inx=0; inx!=10; ++inx) printf(“%d\t”, a[inx]);
printf(“\n”);
return 0;
}
運行結果:
C語言里有沒有把數組元素全部賦值為0的函數
方法一、在定義時賦初值
1、靜態數組
int[3][3]={0};
2、動態數組
int**a=newint*[n];
for(inti=0;i<n;i++)
a[i]=newint[m](0);
方法二、在定義完後賦值
for(inti=0;i<n;i++)
{
for(intj=0;j<m;j++)
a[i][j]=0;
}
方法三、用一個循環吧數組所有元素設置為0:
intarr[100];
inti=0;
for(i=0;i<100;i++)
arr[i]=0;//ThiswillmakeallZERO
方法四、
1、全局變數和靜態變數初始化時會自動被設置為0。如果們聲明全局變數,那麼在運行前會變成全0。
intarr[1024];//Thisisglobal
intmain(void)
{
//statements
}
2、對於局部數組簡寫的初始化語法。如果一個數組被部分初始化,沒有被初始化的元素會被自動設置為相應類型的0。這是編譯器自動完成的。可以這樣寫:
intmain(void)
{
intarr[1024]={0};//ThiswillmakeallZERO
//statements
}
3、可以用memset函數在程序開始時初始化數組。這條命令這在已經修改了數組之後又想將它重置為全0特別有用。
intarr[1024];
arr[5]=67;
memset(ZEROARRAY,0,1024);//ThiswillreinitializealltoZERO
如何將數組初始化為0
比較簡單的有兩種 方法。 一種是 在定義的時候直接賦值為0, int a[10]={0};
另一種 是
memset 在頭文件string.h里
int a[10];
memset(a,0,sizeof(a));
c語言中怎麼把一維數組初始化為全零啊,不用循環
具體初始化方法可以參考如下程序段:(方法一)
int a[5] = {0}; // 將整型數組a的每個元素都初始化為0
或者也可以用如下方法進行初始化:(方法二)
int a[5] = {0, 0, 0, 0, 0}; // 將整型數組a的每個元素都初始化為0,初始化效果同上
方法一的初始化方法是將數組元素都初始化為同一個數值;
方法二的初始化方法可以分別對數組的每個元素進行初始化,每個元素的數值可以不同。
c語言數組怎麼清零
c語言不能對這個數組賦值,只能通過遍曆數組達到給數組中每個元素賦值的目的。初始化的時候可以用inta[4]={0};這樣給整個數組元素賦值為0,若想給已初始化的數組清零,也只能遍曆數組。
在C語言中,所謂的「清空」,意思是「無視裡面的數據」,而不是「讓裡面沒有數據」。有時候可能需要把一個數組清零,意思是全部數據都用0填充,可以用庫函數來實現。假設數組名為a,無論什麼類型也無論幾維都一樣,可以寫成memset(a,0,sizeof(a));
擴展資料:
在C語言中, 數組屬於構造數據類型。一個數組可以分解為多個數組元素,這些數組元素可以是基本數據類型或是構造類型。因此按數組元素的類型不同,數組又可分為數值數組、字元數組、指針數組、結構數組等各種類別。
關於可變長數組(VLA)的問題:原來的C89標準中是不允許可變長數組出現的,但是在C99標準中,加入了對VLA的支持,但是支持的編譯器不多,而且由於棧溢出的安全問題,沒有太多的人敢用這個可變長數組,所以在C11標準中又把它規定為可選實現的功能了。
參考資料來源:百度百科-數組
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/204345.html