zoukankan      html  css  js  c++  java
  • sizeof

    1)sizeof不是函数,是运算符,是个类似宏定义的特殊关键字

      sizeof()---括号内的内容在编译过程中是不被编译的,而是被替代

        如:

        1) int a = 8; sizeof(a);

          在编译过程中不论a是什么,只是被替换成类型sizeof(int)

        2)  int f1();

          sizeof(f1());

          在编译过程中,由于函数f1的返回值为int类型,故将f1()替换成int

    2) 只要是指针类型--sizeof结果大小为4

    3) 数组大小是各维数的乘积*数组元素大小

    4)unsigned 影响的是最高位的bit的意义(正/负),数据的长度不会被改变

        如:sizeof(unsigned int) ==  sizeof(int)

    注意点:

      1)sizeof(类),注意类中有无虚函数----虚函数表的指针(4)也会被计入在内

      2) 注意数组作为函数参数退化为指针-----sizeof(数组),数组作为sizeof的参数,本身不会退化

      3)若参数是自定义类或struct,注意内存对齐原则

      4)空类的占用内存空间为1,单个继承/多个继承的空类空间为1,虚继承涉及虚表(虚指针)--空间为4

  • 相关阅读:
    ubutu16.04编译安装apache
    python格式化字符串
    git服务器搭建
    merge into 导致序列跳号
    Apache 强制SSL访问
    pyhton之解析html的表格
    Two modules in a project cannot share the same content root报错解决方案
    hdoj
    hdoj
    QHUOJ
  • 原文地址:https://www.cnblogs.com/MissZhang-154/p/13417716.html
Copyright © 2011-2022 走看看