- 369 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 09:17:20 ]
- >351
元々の質問は、一般的にはその2通りのやりかただろう、と答える。 しかし(1)のデメリットが理解できない。 (1)のデメリットは呼び出し元で「入れたいメモリー領域がある場合」、createした構造体をコピーする必要がある。 とくに「入れたいメモリ領域がある場合」という部分が不明。 ポインタがメンバになっているときに、その実体が欲しいってこと? >354 >361を見てると、あってんだか違うんだか。creat関数の中でメンバを取得しようとしているのかワケワカ。 もしメンバがの実体が欲しいなら、そういう機能を実現した関数を作ればよい。 こんな感じじゃないか。 void get_data(struct my_struct* pMyData, void *pData) { pData = malloc(pMyData->size); memmove(pData, pMyData->ptr); }
|

|