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