vc數組使用

一維數組初始化:

   標準方式一:int value[100]; // value[i]的值不定,沒有初始化

   標準方式二:int value[100] = {1,2}; // value[0]value[1]的值分別爲12,而沒有定義的value[i>1] 則初始化爲0

方式三:int a_array []= {0,1,2,3};

   指針方式:   int* value = newint[n]; // 未初始化

                delete []value;  // 一定不能忘了刪除數組空間

    

二維數組初始化:

  標準方式一:int value[9][9]; // value[i][j]的值不定,沒有初始化

  標準方式二:int value[9][9] = {{1,1},{2}}//value[0][0,1]value[1][0]的值初始化,其他初始化爲0

方式三:int a[][4]={{0,0,3},{},{0,10}};

  指針方式一:int (*value)[n] = newint[m][n];

                delete []value; // n必須爲常量,調用直觀。未初始化

  指針方式二:int** value = newint* [m];

               for(i=0;i<m;i++) value[i] = newint[n];

               for(i=0;i<m;i++) delete []value[i];

               delete []value; // 多次析構,存儲麻煩,未初始化

  指針方式三:int * value = newint[3][4]; // 數組的存儲是按行存儲的

               delete []value; // 一定要進行內存釋放,否則會造成內存泄露

多維數組初始化:

  指針方式:int * value = newint[m][3][4]; // 只有第一維可以是變量,其他幾維必須都是常量,否則會報錯

             delete []value; // 一定要進行內存釋放,否則會造成內存泄露

 

一維數組參數傳遞:

   void Func(int *value);
   或者是
   void Func(int value[]);
   

二維數組傳遞:

   定義是int **value;的傳遞
   void Func(int **value);
   定義是int (*value)[n] = newint[m][n];的傳遞
  void func(int (*value)[n]); // sizeof(p)=4,sizeof(*value)=sizeof(int)*n;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章