练习题总结-字节对齐

原创 2018年04月15日 22:42:45
若char是一字节,int是4字节,指针类型是4字节,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
class CTest
{
    public:
        CTest():m_chData(‘\0’),m_nData(0)
        {
        }
        virtual void mem_fun(){}
    private:
        char m_chData;
        int m_nData;
        static char s_chData;
};
char CTest::s_chData=’\0’;
问:
(1)若按4字节对齐sizeof(CTest)的值是 12
(2)若按1字节对齐sizeof(CTest)的值是 9
注意点:
1 先找有没有virtual 有的话就要建立虚函数表,+4
2 static的成员变量属于类域,不算入对象中      +0
3 神马成员都没有的类,或者只有成员函数        +1
4 对齐法则,对大家都没有问题

 *p2++ = *p1++;
++优先级高于*,而且是从右往走计算

java 总结练习题 总结的

  • 2011年02月25日 11:56
  • 10KB
  • 下载

经典面试题 之 大小端 & 内存对齐补齐

#include struct S { union { struct { char a; int b; }x; char c[10]; };...
  • vevenlcf
  • vevenlcf
  • 2015-08-06 14:17:47
  • 1287

嵌入式编程规范 字节对齐

  • 2009年10月08日 08:46
  • 17KB
  • 下载

练习题总结

 1.100以内的质数 public static void main(String[] args)  {        方法一:  System.out.println("质数有:")...
  • forever_1030720465
  • forever_1030720465
  • 2014-11-10 15:55:00
  • 127

字节对齐总结,ARM字节对齐

  • 2009年02月03日 11:24
  • 32KB
  • 下载

C语言中的字节对齐详解。

  • 2011年05月24日 15:32
  • 61KB
  • 下载

指针面试例题解析———总结

*指针是C和C++的精华所在,也是C和C++ 的一个十分重要的概念。一个数据对象的内存地址称为该数据对象的指针。指针具有不同的类型,可以指向不同的数据存储体 面试例题1:指针和引用的差别? 答案:...
  • Ycx_lq
  • Ycx_lq
  • 2017-08-09 17:52:52
  • 105

字节对齐小结

  • 2013年10月14日 14:11
  • 64KB
  • 下载

4字节对齐

2. 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。其他平台可能没有这种情况, 但是最常见的是如果不按照适合其平台的要求对数据存...
  • fuyunliushuizjf
  • fuyunliushuizjf
  • 2014-12-11 10:37:06
  • 867

结构体中的字节对齐问题

为了提高CPU访问内存的效率,可能CPU在读取数据时会一次性读取4字节、或者是2字节、8字节等大小的数据,所以编译器在把数据存放于内存的时候,会自动对齐。1. 字节对齐规则字节对齐有下面几种规律:1....
  • qq_29344757
  • qq_29344757
  • 2017-03-14 15:24:46
  • 368
收藏助手
不良信息举报
您举报文章:练习题总结-字节对齐
举报原因:
原因补充:

(最多只允许输入30个字)