我有一个函数可以在这里将短转换为字节数组
char *GetBytesShort(short data)
{
char *ptr = (char *) malloc(sizeof(short));
memcpy(ptr, &data, sizeof(short));
return (char *) *ptr;
}
而且,在我的 main.c 中,我这样调用函数
char *data = GetBytesShort(10);
free(data);
但是,每当我尝试释放内存时,都会出现错误
First-chance exception at 0x5896586E (msvcr110d.dll) in Project1.exe: 0xC0000005: Access violation reading location 0x00000004.
If there is a handler for this exception, the program may be safely continued.
我正在使用 Visual Studios 2012 Ultimate 版。我已经在 Properties -> C/C++ -> Advanced -> Compile As 中将语言设置为 C,但无济于事。而且我的文件具有 .c 扩展名,而不是 .cpp
提前致谢!