(引:hxf说的那个宏: #define OFFSET(A,a) & ( (struct A *)0->)a )
还有hxf 推论出的 struct 中 的对齐,(32bit, 当没有使用pragma pack(参数),) 其中最大字节的元素 绝对了最大大小(整数倍)。
看完这次的代码,主要是 变量的边界值问题,
/******************************/end
#include "stdafx.h"
#include "test_.h"
void test_char_内存分布(){
//下面看看char 类型的 内存分布
//方案:使用直接.一句话 为char类型赋值 有符号的数字,好听讲究
char ch_b=-127;
printf("%x\n",ch_b);
ch_b=-128;//临界点,
printf("%x\n",ch_b);
ch_b=-129;//已经溢出
printf("%x\n",ch_b);
ch_b=-1;//知道这个就像0xff..就跟1 A a 31 41 61 基础
printf("%x\n",ch_b);
//ADV:有空127 128..同样
ch_b=0;
printf("%x\n",ch_b);
ch_b=127;//临界点
printf("%x\n",ch_b);
ch_b=128;//溢出点
printf("%x\n",ch_b);
//积累:看到内存,没有看到符号,就没有意义
//第一种方案,准备 随意输入数字测试
//循环测试失败。。getchar 总是ascii...scanf输入数字,异常
//ch_b==getchar();//吃掉scanf的回车
while (0)
{
//ch_b=getchar();//只有一个getchar()重要尾随一个a ...when printf format is x
scanf("%c",ch_b);
printf("%x\n",ch_b);
//ch_b==getchar();//吃回车
}
}
void test_int_内存分布(){
int i_a=-1;
printf("%x\n",i_a);// 0xffffffff
i_a=~i_a; //0.就是0
printf("%x\n",i_a);
}