那位高手幫邦忙這個程式指標陣列記憶體空間釋放的問題

2023-01-22 00:40:27 字數 677 閱讀 3691

1樓:庚花芳

陣列名和指標是完全不一樣的兩個東西,你去查閱資料學習下。陣列名只不過是個名字而已。

對於返回二維陣列:

int **a(){} //這裡int **表示指向一個指標陣列,那麼自然就要開闢一個指標陣列,而不是一個二維陣列。

那麼函式體內需要定義指標int **p=new int *[n];然後再為每一個指標開闢一位陣列。最後返回。

對於二維陣列引數:

void a(int **a)

這裡int **宣告a是指向指標陣列的,那麼怎麼可以傳給他二維陣列名呢,需要像前面一樣定義int **p=new int *;然後為每個p[i]=new開闢空間,最後傳p進來。

附:陣列名只是一段連續空間的名字而已,不是指標。不過在進行值傳遞的時候傳的是首元素地址,

所以對於int a[2];有a = &a;//前者a是首元素地址,後者是對這個空間取地址得到空間首地址,所以相等,而對於int *a;a通常不會等於&a.

至於int **a;就說明a指向int *型別,那麼不就要為a開闢int *的陣列,跟二維陣列沒有關係。

2樓:匿名使用者

cfhkncfujopasjn

3樓:匿名使用者

delete [ ] p;//記憶體空間釋放

這樣就行了

那位高手幫下忙啊,我電腦有系統,中文XP 日文XP windows2019,C盤下的boot檔案應該怎麼編寫

用超級兔子就可以了 超級兔子魔法設定 啟動程式 多系統選擇 請各位高手幫我個忙,翻譯下面的中文 20 按順序inviting agent departmentvice deputy manager officemanager office conference room office departm...

C語言和C 的高手幫個忙吧,寫一下這個程式的註釋,我看不懂考試要考謝謝拉

include include typedef struct node 定義結構體 stu stu create stu a,int num 定義create函式返回型別 為指向構體的指標 return a int liulan stu a printf n return i stu insert ...

英語高手來幫一下忙,請英語高手來幫一下忙,把下面的短文翻譯一下

前兩個中,由於water是不可數名詞,所以只能是there is some water.與some無關。後兩個中,由於student是可數名詞,就要根據student來可以是there is a student there are some students。there後面的be動詞看的不是some...