陣列I具有簡單的結構:如何使用memcpy初始化以struct
typedef struct{
double par[4];
}struct_type;
我還初始化函數爲其,其中一個參數是一個4個元素的數組。如何正確使用memcpy initalize array in struct?這樣的東西不適合我:
struct_type* init_fcn(double array[4]){
struct _type* retVal;
retVal->par=malloc(sizeof(double)*4);
memcpy(retVal->par,&array);
return retVal;
}
我可以初始化值,但我thnik memcpy會更好,更快。你有什麼想法如何正確做到這一點?
哦,我看到,MEMCPY也需要數組的大小,這是一樣的給予的malloc大小 –
'的sizeof(*雙)'是無稽之談,並會導致在編譯器錯誤。這不是[mcve] – StoryTeller
更像'memcpy(retVal-> par,array,sizeof(double)* 4)'。另外在malloc中,你可以使用'sizeof(double)'(一個元素的大小) –