指针变量:用于存放另一个变量的地址
(指针变量所占空间大小由操作系统决定32/64位 4/8字节
声明且定义:int *p=&a;
声明、定义:int *p; p= &a;
Double *p =d;
(int)(p+1)-(int)p = 8;
P指针变量所代表地址 指向 double类型变量,所以p+1,是在double基础上,偏移8个字节地址。
不同类型的指针的区别:就在于+1始偏移量的不同。本质 都三
超过1字节地址存放的变量,按照大小端格式在内存地址中排列
若p = 0x0010000;p+1 = 0x0010008;
关于大小端:
大端字节序: 高位字节数据存放在内的低地址处,低位数据存放在内的高地址处;
小端字节序: 高位字节数据存放在内的高地址处,低位数据存放在内的低地址处;
例如:0x01234567;01是高位
按照小端格式排列:
67|
45| 23| 01;
0x0010000;0x0010001;0x0010002;0x0010003;
若内存上按照顺序排列对象为:
01 23 45 67 89 ab
cd ef
0x0010000---0x0010007;
P=(Double *)0x0010004;(需为合法地址)
A=*p;
A的内容:A= 0x ef cd ab 89;(小端)
原文地址:https://www.cnblogs.com/yyyyloveu/p/12233332.html
时间: 2024-10-12 09:21:20