0
struct item_CHECK_LIST_data
{

    char    list[MAX_CHECK_LIST_OPTIONS + 1][MAX_ITEM_TEXT_LEN];
    char    checkeditems[MAX_CHECK_LIST_OPTIONS + 1];//which are checked

    char    number_of_options;
};

memcopyでこれをコピーできますか?

memcopyができないことで説明される奇妙なバグがあります...

4

3 に答える 3

5

はい、memcpyCで2次元配列を使用できます。ただし、実際には2D配列であり、ポインターの1D配列ではありません。2次元配列はメモリ内に連続して配置されるため、memcpyすべてのブロックが正しく読み取られます。ただし、配列がより多くの1D配列へのポインターの1D配列である場合、memcpyはポインターのみをコピーし、最終的には深いコピーではなく浅いコピーになります。

于 2011-02-08T05:53:30.290 に答える
2

sizeof()を使用して、コピーする量を見つけましたか?構造体の要素は、サイズがパーツの合計よりも大きくなるようにパディングされる場合があります

于 2011-02-08T05:54:33.067 に答える
0

コピーしたいのが構造体全体である場合は、を使用しないでくださいmemcpy。割り当てを行うだけで、=トークンが作成されます。

于 2011-02-08T08:34:42.343 に答える