我在C++代碼中遇到了一個內存問題,當然我錯了,但是我沒有遇到問題。我已經聲明瞭一個三指針數組來加倍和分配內存。C數組指針加倍
double *myDoubles[3];
for(int i=0;i<3;i++) {
myDoubles[i]= (double *) malloc(1000*sizeof(double));
}
myDoubles[2][999]=10.55;
怎麼了?
編輯
由於@EdHeal意見,但也@PhilippKiener我不應該使用malloc在所有。但在25年之前很難忘記malloc。 畢竟我的問題是另一個地方的另一個錯誤,實際上我寫的是限制:)。我的錯!
在C中,你不會投'malloc' - 這是不好的 - 見http://stackoverflow.com/questions/605845/do-i-cast-the-result-of-malloc –
什麼是本質內存問題,你正在得到? – Jay
@Jay問題是,當我使用double操作時,我得到了其他變量中的內存損壞,但我看起來並不像我正在做一個索引,例如myDoubles [2] [1000]或類似的東西。 – Mquinteiro