關於memset初始化動態陣列

2021-06-07 04:06:07 字數 383 閱讀 3774

今天在刷題的時候想使用複習一下動態陣列的使用,就建了乙個,結果執行的時候出了一些問題,就是那個貌似陣列沒有被初始化,所以我就測試了一下,**如下:

int main(){

int n = 10; int *degree1 = new int[n];

memset(degree1,0,sizeof(degree1));

for(int i =0;i

這個兩個函式輸出的結果是degree1只有第乙個被初始化,degree2,3全部被初始化,究其原因,這個和sizeof函式有關,degree是乙個指標,sizeof(degree)是指標的大小,為4。

故初始化時應該乘以陣列的個數n才是正解!

如果是初始化靜態陣列,sizeof函式獲得的就是陣列的大小。

memset初始化陣列

memset初始化陣列 結構體也可初始化 不過我在此處並未對結構體初始化.memst按位元組進行初始化,可以選擇將陣列初始化為0或初始化為 1 include include include include include using namespace std int main include i...

memset函式初始化

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

memset函式初始化

標頭檔案 incldue 靜態陣列 int num 10 memset num,0,sizeof num 初始化為 0 memset num,1 sizeof num 初始化為 1 memset num,0x3f sizeof num 初始化為無窮大 memset num,0x3f sizeof n...