我正在将数据缓冲区转换为大尺寸结构指针。它会引起任何问题吗?我在 Visual Studio 上尝试了以下代码,没有发现警告或错误。
#include <iostream>
using namespace std;
struct test
{
char var1;
char var2;
long var3;
};
void function(char* data);
int main (void)
{
char data[5] = {1, 0, 0, 3, 4};
function(data);
system("Pause");
return 0;
}
void function(char* data)
{
test* pTest = reinterpret_cast<test*>(data); // casting
printf("%x\n", pTest->var1);
printf("%x\n", pTest->var2);
printf("%x\n", pTest->var3);
}