1. 程式人生 > >整型陣列整體賦值。

整型陣列整體賦值。

整型陣列無法整體賦值的原因: 對於一些特定的問題,整型陣列可能需要整體賦一個初值,但是缺乏直接賦值的函式,因為整型陣列沒有終結的標誌,計算機系統不會自動的判定它的大小,無法快速賦值。 整型陣列賦初值的方法: 1./<string.h> 中有memset函式,但是memset函式是對一個位元組進行賦值,只在一定情況下可以滿足。 eg.int aa[maxn]; memset函式把它當成字元型陣列看待。賦值後先轉化成字元型再轉化為整型; memset(aa,0,sizeof(aa)); 於是aa陣列變成0;(字元的1個位元組8個位都是0)。 memset(aa,0xff,sizeof(aa)); 對aa陣列的每個值的一個位元組進行賦值(0x代表16進位制). 此時aa陣列都變成-1(計算機補碼的規則,字元的一個位元組8個位都是1。 如果清楚型別之間的轉化,可以用這個(注意控制賦值的大小)。 用memset將整型陣列賦值為0還是非常常用的。

2.宣告時賦值。
int aa[maxn]={0}; //如此,都變成了0;
如果 int aa[maxn]={1,2}; //如此,前兩個變成1,2,後面的都是0;

  	3.還是for迴圈來的實在,靈活性大。為你打~~call~~  !!!
  		for(int i=0;i<n;i++){
  			aa[i]=0;
  		}