#include<iostream>
using namespace std;
struct _1
{
int a;
char b;
}struct_1;
/*
1、struct _1中间有空格,在这里看不出来
2、struct_1看是一体,实际中间是有空格,编译器检查不能通过的
*/
//*就是访问这个单元
int main()
{
//直接访问内存,涉及到内存分页的知识啦!
//打算访问结构体成员b后面的存储单元
//printf()是用来测试的
printf("%c\n",* (char*) ( (char*) & struct_1.b+1 ) = 3);
//属于隐式定义
//打算访问结构体成员b后面的存储单元
//&struct_1.b+1 取成员 b 地址
//(char * ) 两次后还是 字符型
//((char *) &struct_1.b) like XX
//like * (char * ) XX
//解释赋值 3 的操作
//char ch;
//char *pch;
//pch = &ch;
//*pch = 3;
//char *p;
return 0;
}