使用memset 函式初始化二維陣列時的注意事項

2021-10-14 08:45:55 字數 763 閱讀 8818

【注意事項】

使用memset()函式初始化二維陣列時要千萬小心:

1.二維整型陣列利用memset()函式初始化時,只能初始化為0或者-1,否則二維整型陣列的值將為隨機數。

2.二維char陣列利用memset()函式初始化時不受限制,可初始化為任意字元。

【演算法**】

#include using namespace std;

const int m=3;

const int n=5;

char a[m][n]; //char陣列

int main() {

memset(a,'*',sizeof(a)); //此處的星號*可改為任意字元

for(int i=0;i【演算法輸出】

【演算法**】

#include using namespace std;

const int m=3;

const int n=5;

int a[m][n]; //整型陣列

int main() {

memset(a,9,sizeof(a)); //此處的9只能為0或-1

for(int i=0;i【演算法輸出】

151587081 151587081 151587081 151587081 151587081

151587081 151587081 151587081 151587081 151587081

151587081 151587081 151587081 151587081 151587081

memset函式與二維陣列初始化的問題

今天在編寫levenshtein distance距離函式時用到二維陣列,用memset對其初始化時發生了問題,直接 int m null int i 0,j 0 m int malloc row sizeof int for i 0 i row i memset m,0,row col 4 for...

利用memset和fill n初始化二維陣列

const int m 5 n 10 int a a new int m for int i 0 ic 中利用new建立二維陣列,並且使用memset進行初始化。include include int main void int n,m while std cin n m 動態建立二維陣列 int ...

memset函式初始化

對於絕大多數編譯器來講,char namekey 15 與memset namekey,0x0,sizeof namekey 或memset namekey,0 sizeof namekey 這三個是一樣的。但是有的編譯器,char namekey 15 只將namekey 0 給賦值為 0 其他成...