構造とその信頼性にmemsetとmemcopyを使用することについて質問があります。例:
私はこのようなコードを持っています
typedef struct
{
short a[10];
short b[10];
}tDataStruct;
tDataStruct m,n;
memset(&m, 2, sizeof(m));
memcpy(&n,&m,sizeof(m));
私の質問は、
1):memsetで0に設定すると、問題ありません。しかし、2を設定すると、maとmbが2ではなく514になります。shortではなくcharとして作成すると、問題ありません。0以外の初期化にmemsetを使用できないということですか?略して制限ですか?
2):上記のタイプshortの2つの構造間でmemcopyを実行することは信頼できますか?私はa、b、c、d、eの巨大な文字列を持っています...私はコピーが1対1で完璧であることを確認する必要があります。
3):上記のような構造で収集するよりも、個々のアレイでmemsetとmemcopyを使用する方が良いですか?
もう1つのクエリ、
上記の構造では、変数の配列があります。しかし、これらの配列へのポインターが渡され、これらのポインターを構造体に収集したい場合
typedef struct
{
short *pa[10];
short *pb[10];
}tDataStruct;
tDataStruct m,n;
memset(&m, 2, sizeof(m));
memcpy(&n,&m,sizeof(m));
この場合、iまたはmemcopyのmemsetは、値ではなくアドレスのみを変更します。代わりに値を変更するにはどうすればよいですか?プロトタイプは間違っていますか?
提案してください。あなたの入力は非常に影響力があります
ありがとうdsp男