• 数据类型的字长,字节问题


    这是为什么呢?

    1.首先,我们需要知道,编译器不同,int型占的字节数也是不同的。这里涉及到概念问题。关于各种数据类型到底占多少位,网上的说法没有总结的说法,下面我个人总结一下,欢迎批评

    (1)固定概念,一个字节由8 bits组成。

    (2)固定概念,通常int型占一个字长,short型占半个字长,long型占一个字长(在32位编译器中)或两个字长

    (3)32 bits编译器中,int型数据是一个字长,32位,也就是4个字节,16bits编译中,int型数据照样是一个字长,但变为了16位,也就是2个字节

    2.那么为什么上述程序中,变量a和变量b的地址差为3,也就是12个字节呢?(我目前也不太清楚这里为什么是3)

    那是因为这是在Debug模式下运行,调试模式,在int变量的前后各增加了4个字节,用于存储调试信息。如果改为release模式,则会变成4个字节了。

    3.变量是存放在栈中,栈上地址从高向低增长。

  • 相关阅读:
    JavaScript 闭包(转)
    JavaScript 获取键盘扫描码
    前台网站优化方案
    设计模式之装饰者模式
    设计模式之蝇量模式
    设计模式之策略模式
    Algorithm学习之any_of
    Algorithm学习之all_of学习
    Algorithm学习之adjacent_find学习
    数据结构-表达式求值
  • 原文地址:https://www.cnblogs.com/mini-coconut/p/8519711.html
Copyright © 2020-2023  润新知