c 怎樣將一維陣列整體賦相同初值
文章推薦指數: 80 %
c 怎樣將一維陣列整體賦相同初值,1樓加百列陣列是不可以整體賦值的, ... 無論陣列有多大,全部初始化為0的操作很簡單,如int a[3000]=;就可以將a ...
c怎樣將一維陣列整體賦相同初值
首頁>科技時間2021-06-2723:50:56
1樓:加百列
陣列是不可以整體賦值的,只能在陣列定義的時候初始化。
一、一維陣列初始化如下:
二、二維陣列初始化如下:
二、多維陣列初始化如下:
2樓:
c/c++不支援陣列整體賦值,可以在宣告陣列時整體初始化。
無論陣列有多大,全部初始化為0的操作很簡單,如inta[3000]=;就可以將a的3000個元素全部置0;若要賦其他值,例如全部賦值為7,寫成inta[3000]=;則不行,這隻給a[0]賦值為7,其餘的都是0。
在陣列長度較小時,可直接寫入資料初始化,如inta[5]=;,若陣列太長,如前述a[3000],寫3000個數顯然是不現實的。
遇到這種情況,可以定義一個帶引數的巨集來簡化初始化的書寫,例如要把a[3000]全部初始化為9,可用以下**:
//#include "stdafx.h"//if the vc++6.0, with this line.
#include "stdio.h"
#define x(x) x,x,x,x,x,x,x,x,x,x//帶引數的巨集,x是預賦之值
int main(void);//以賦9為例
printf("%d %d %d\n",a[0],a[1499],a[2999]);//打幾個出來看看...
return 0;}
3樓:
第一:使用for迴圈賦值;
第二:使用memset函式進行賦值;但是使用memset對非字元型陣列賦值有可能會出問題;
比如:intarray1[200];
intval=2;
memset(array1,val,200*sizeof(int));
這樣的結果必然會出錯!因為memset是以位元組為單位進行賦值的,最後陣列的結果可預知,但是完全錯誤……如果是對字元陣列用這樣的方式進行賦值的話就不會出錯,因為字元只佔一個位元組,而int佔四個位元組……
4樓:
用memset函式,引數是陣列指標!可參照memset函式說明!
5樓:匿名使用者
intarray1[200];
intval=2;
memset(array1,val,200);
呵呵!4樓對了,很久沒有忘了sizeof(int)*200不過還是做個迴圈比較清晰
for(inti=0;i<200;i++)array1[i]=val;
6樓:悠哉芸
inta[n]=
這樣可以嗎?
7樓:匿名使用者
可一試一下memset函式
c語言中怎麼把一維陣列初始化為全零啊,不用迴圈
8樓:匿名使用者
下面3種方法:
1.intarr[10]=;
如果只對陣列的一部分進行初始化,則編譯器將把其他元回素設定為0。
因此,答當只將第一個元素初始化為0時,編譯器會自動將其他元素設為0(就像前一句說的那樣)。
2.intarr[31]={};
3.用memset函式在程式開始時初始化陣列。
比如:
intarr[1024];
memset(arr,0,1024);//清零
9樓:幻の上帝
2種方法:
1.靜態變數制(全域性變數、靜態區域性變數)即使沒有初始化列表,也會自動全部初始化填充0。
2.對於區域性自動變數,只要初始化列表存在,即使沒有在列表中的部分也會被初始化填充0。
所以只要使初始化列表全為零即可。
例如ls所說的inta[10]=;。
注意這裡陣列大小不能省略,否則初始化列表會被當做陣列的全部內容。
----
至於memset,類似於迴圈批量賦值(只是交給庫函式實現了而已),並非初始化。
(其實迴圈不也是賦值麼--。
)
1l用法有誤,應為memset(陣列地址,0,sizeof(陣列變數)),第三個引數應該是陣列所佔空間大小而不是陣列的元素個數(長度)。
使用memset前需#include。
----
[原創回答團]
10樓:天雲一號
具體初始來化方法可以參考如下程源序段:(方法bai一)int a[5] = ; // 將整型陣列a的每du個元素都初始化為
zhi0
或者也可以用如下方dao法進行初始化:(方法二)int a[5] = ; // 將整型陣列a的每個元素都初始化為0,初始化效果同上
方法一的初始化方法是將陣列元素都初始化為同一個數值;
方法二的初始化方法可以分別對陣列的每個元素進行初始化,每個元素的數值可以不同。
11樓:匿名使用者
設定一個靜態陣列,就預設0了
如staticinta【8】;
12樓:陽光上的橋
例子:inti,j,ok[10];
memset(ok,0,sizeof(ok));
memset就能完成你的功能。
13樓:匿名使用者
很簡單只要初始化第一個就行可以了,其他的會自動初始化為0,如下
inta[size]=;
14樓:匿名使用者
memset(陣列地址,0,陣列長度);
15樓:匿名使用者
inta[10]=;
16樓:匿名使用者
vc裡可以用inta[size]=;
不行的話就用staticinta[size]=;吧....
c++動態建立一個一維陣列,賦值並顯示每個元素的值,最後釋放記憶體
17樓:it孤鶩
#include
usingnamespacestd;
voidmain()
其他用戶還看了:
多肉上有一些白色的小毛蟲,求助,多肉上長了很多白色的蟲子
男人心裡究竟可以愛幾個女人,一個男人心裡究竟可以愛幾個女人
我是個特別的人嗎,女生說我是個特別的人,她是什麼意思呢?20
多肉植物上有些白色的蟲子怎麼治,多肉植物長白色的小蟲子怎麼辦?
我自己覺得性格比較怪異,該怎麼樣處理
多肉土裡有白色的小蟲怎麼辦,多肉土裡爬了很多小蟲子怎麼辦
猜你喜歡
多肉上有一些白色的小毛蟲,求助,多肉上長了很多白色的蟲子
男人心裡究竟可以愛幾個女人,一個男人心裡究竟可以愛幾個女人
我是個特別的人嗎,女生說我是個特別的人,她是什麼意思呢?20
多肉植物上有些白色的蟲子怎麼治,多肉植物長白色的小蟲子怎麼辦?
我自己覺得性格比較怪異,該怎麼樣處理
多肉土裡有白色的小蟲怎麼辦,多肉土裡爬了很多小蟲子怎麼辦
推薦閱讀
多肉上有一些白色的小毛蟲,求助,多肉上長了很多白色的蟲子
男人心裡究竟可以愛幾個女人,一個男人心裡究竟可以愛幾個女人
我是個特別的人嗎,女生說我是個特別的人,她是什麼意思呢?20
多肉植物上有些白色的蟲子怎麼治,多肉植物長白色的小蟲子怎麼辦?
我自己覺得性格比較怪異,該怎麼樣處理
多肉土裡有白色的小蟲怎麼辦,多肉土裡爬了很多小蟲子怎麼辦
種花時發現了許多白色的小蟲,一澆水就全出來了,在盆子裡爬來爬
延伸文章資訊
- 1c語言將陣列初始化為1 C語言中陣列的初始化 - 程序員學院
c語言將陣列初始化為1 C語言中陣列的初始化,在c語言中陣列的初始化有以下幾種方式1 定義的時候同時初始化int array 10 2 定義的時候不指定陣列大小由 ...
- 2C 陣列初始化 - w3c菜鳥教程
C 陣列初始化,定義int pia new int 10 array of 10 uninitialized ints ... 1. 元素只能初始化為元素型別的預設值,而不能像陣列變數一樣,用初...
- 3一維陣列
當然不會這麼麻煩的,C 提供陣列(Array),可以宣告一個以索引(index)作為識別 ... 加上索引(Index),指定要存取的陣列元素,C 的索引值一律由0 開始,而不是由1 ...
- 4陣列
也可以在宣告陣列時初始所有的陣列值,例如: int number[5] = {0, 1, 2, 3, 4}; double score[5] = {87.0, 78.0, 99.5, 69.5,...
- 5[C 語言] 程式設計教學:如何使用陣列(Array) | 開源技術教學網
陣列未初始化時所存的值視為垃圾值,其運算結果不可靠。 ... 注意取索引時,第一個元素的索引值從 0 開始,而非 1 ,這是因為索引是一種偏移值(offset) 的概念。 但C ...