• 2011 无代码无意义 test_内存之 变量的边界 (图)


    (引: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);

     

        //积累:看到内存,没有看到符号,就没有意义

       

    clip_image002

    //第一种方案,准备 随意输入数字测试

        //循环测试失败。。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);

    }

  • 相关阅读:
    vue-路由传参
    ES6模板字符串
    es6中Set和Map数据结构
    本周面试题
    var、let和const定义变量的特点
    修改this的指向
    Echarts图表插件
    ES6学习
    swiper插件学习
    每日刷题4
  • 原文地址:https://www.cnblogs.com/titer1/p/2303960.html
Copyright © 2020-2023  润新知