指针运算
来源:互联网 发布:python product 编辑:程序博客网 时间:2024/05/01 00:07
struct Test
{
int Num;
char *pcName;
short sDate;
char cha[2];
short sBa[4];
}*p;
假设p 的值为0x100000。如下表表达式的值分别为多少?
p + 0x1 = 0x___ ?
(unsigned long)p + 0x1 = 0x___?
(unsigned int*)p + 0x1 = 0x___?
p + 0x1 的值为0x100000+sizof(Test)*0x1。至于此结构体的大小为20byte。所以p +0x1 的值为:0x100014。
(unsigned long)p + 0x1 的值呢?这里涉及到强制转换,将指针变量p 保存的值强制转换成无符号的长整型数。任何数值一旦被强制转换,其类型就改变了。所以这个表达式其实就是一个无符号的长整型数加上另一个整数。所以其值为:0x100001。
(unsigned int*)p + 0x1 的值呢?这里的p 被强制转换成一个指向无符号整型的指针。所以其值为:0x100000+sizof(unsigned int)*0x1,等于0x100004。
- 指针运算
- 指针运算
- 指针运算
- 指针运算
- 指针运算
- 指针运算
- 指针运算
- 指针运算
- 指针运算
- 指针运算
- 指针运算
- 指针运算
- 指针运算
- 指针运算
- 指针运算
- 指针运算
- 指针运算
- 指针-指针运算
- Mysql 主从数据库复制
- sqlserver"无法删除数据库,因为该数据库当前正在使用"问题解决
- store读取数据超时解决方案
- Confer rel="shortcut icon" and rel="icon" in markup
- linux vi 编辑器命令详解
- 指针运算
- zencart主要文件的功能总结和提炼 $template->get_template_part
- coldfusion动态链接选择不同的数据库。
- JDK 5 提供的注解: Target 、Inherited 和 Documented
- Winsock网络通信过程
- excel二级联动指令
- 集合已修改;枚举操作可能无法执行。
- 制作CHM
- Qt经典出错信息之”Basic XLib functionality test failed!”