一維數組初始化:
標準方式一:int value[100]; // value[i]的值不定,沒有初始化
標準方式二:int value[100] = {1,2}; // value[0]和value[1]的值分別爲1和2,而沒有定義的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;