0

変数「b」の値を変数「a」にコピーしようとすると、実行時エラー」が発生します。

#include <stdio.h>
#include <string.h>

typedef struct{
        unsigned short a;
}st1;

main()
{
        st1* myStruct;
        unsigned short b = 0xFFFF;

        memcpy(&myStruct->a, &b,sizeof(b));
}

なぜそれが起こるのか知りたいです。どんな助けでも大歓迎です。

4

1 に答える 1

1

にメモリを割り当てていないためですmyStruct。初期化していないため、その値は実行中のランダムな値memcpy()です。したがって、&myStruct->aランダムなアドレスにアクセスしており、書き込みを行う&myStruct->aと実行時エラーが発生する可能性があります。

于 2012-08-05T15:04:18.680 に答える