-1
初始化它,我知道這個問題很簡單,但即使在網絡上經過長時間的搜尋後,我無法找到一個解決我的問題。我想了解在C動態數組,特別是,分配與的malloc()和初始化用memset的(),所以這裏是我的代碼:Ç分配雙打的動態數組與memset的
#include <stdlib.h>
int main()
{
double *d;
int numElements = 3;
size_t size = numElements * sizeof(double);
d = malloc(size);
memset(d,1.0,size);
int i;
for(i=0; i < numElements; i++)
printf("%f\n",d[i]);
return 0;
}
但輸出我得到的是不同於我所期望的
0.0
0.0
0.0
請問,有人能這麼溫柔地向我解釋我做錯了什麼嗎?
謝謝!
注意:他們說,[你不應該投的malloc'()的結果在'C](http://stackoverflow.com/questions/605845/do-i-cast-the-result-of-malloc)。 – MikeCAT
@MikeCAT如果我不投的malloc()的結果我得到了相同的結果 –
其中應說明你的轉換是完全沒有意義的,這就是爲什麼你不應該使用它 - 它只是增加了混亂。 – Lundin