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 回答