你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
意法半导体官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
积分商城
每日签到
【3.18签到】每日问答——写出下列程序的运算结果
[复制链接]
苏柚
提问时间:2016-3-18 08:40 /
赞
0
收藏
0
评论
127
分享
发布时间:2016-3-18 08:40
请先
登录
后回复
127个回答
Mandelbrot_Set
回答时间:2016-3-18 08:45:05
a0a.1 32b0c
Q.D.
赞
0
评论
回复
支持
反对
zhuoyemp4
回答时间:2016-3-18 09:12:09
a0a.1 32b0c
这考察的是指针加法中1代表什么的问题
在这里1代表的是一个单位量
p1+5=p1+5*1=p1+5*sizeof(unsigned char)=p1+5*1=0x801000+ox5=0x801005
p2+5=p2+5*1=p2+5*sizeof(unsigned long)=p1+5*4=0x810000+20=0x810000+0x14=0x810014
p1+5的值是0x801005,因为指针变量指向的是字符,加一表示指针向后移动一个字节,那么加5代表向后移动5个字节,所以输出0x801005
p2+5的值是0x810014,因为指针变量指向的长整形的,加一表示指针向后移动4个字节,那么加5代表向后移动20个字节,所以输出0x810014
经验证也是对的,如下图所示
赞
0
评论
回复
支持
反对
yanlinwei
回答时间:2016-3-18 14:48:39
a0a.1 32b0c
unsigned char *p1;
unsigned long *p2;
p1=(unsigned char *)0x801000;
p2=(unsigned long *)0x810000;
请问
p1+5= 0x801000+5*sizeof(unsigned char);
p2+5= 0x801000+5*sizeof(unsigned long);
赞
0
评论
回复
支持
反对
nobita
回答时间:2016-3-18 14:20:40
a0a.1 32b0c
unsigned char *p1;
unsigned long *p2;
p1=(unsigned char *)0x801000;
p2=(unsigned long *)0x810000;
请问
p1+5= 0x801000+5*sizeof(unsigned char);
p2+5= 0x801000+5*sizeof(unsigned long);
赞
0
评论
回复
支持
反对
火蒂树
回答时间:2016-3-18 08:46:26
a1024a.1 32b0c
赞
0
评论
回复
支持
反对
anger0925
回答时间:2016-3-18 08:47:46
a0a.1 32b0c
0x801005
赞
0
评论
回复
支持
反对
ersha4877
回答时间:2016-3-18 08:49:50
a1024a.1 32b0c
赞
0
评论
回复
支持
反对
我的颈
回答时间:2016-3-18 08:50:28
a1024a.1 32b0c
赞
0
评论
回复
支持
反对
creep
回答时间:2016-3-18 08:50:57
a0a.1 32b0c
赞
0
评论
回复
支持
反对
阿莫西林
回答时间:2016-3-18 08:51:33
a0a.1 32b0c
0x801005 0x81000a
赞
0
评论
回复
支持
反对
大禹
回答时间:2016-3-18 08:52:22
a1024a.1 32b0c
签到签到
赞
0
评论
回复
支持
反对
lisingch
回答时间:2016-3-18 08:55:58
a1024a.1 32b0c
签到签到
赞
0
评论
回复
支持
反对
仙景
回答时间:2016-3-18 08:56:31
a0a.1 32b0c
p1+5=801005
p2+5=810014
赞
0
评论
回复
支持
反对
烟花绽放
回答时间:2016-3-18 08:57:14
a1024a.1 32b0c
签到签到
赞
0
评论
回复
支持
反对
dream12
回答时间:2016-3-18 08:57:27
a1024a.1 32b0c
qiandao
赞
0
评论
回复
支持
反对
党国特派员
回答时间:2016-3-18 08:58:06
a0a.1 32b0c
0x801005;
0x810005;
赞
0
评论
回复
支持
反对
249538819
回答时间:2016-3-18 08:59:22
a0a.1 32b0c
0x801005;
0x810014;
赞
0
评论
回复
支持
反对
zjg_lizhen
回答时间:2016-3-18 09:00:35
a0a.1 32b0c
0x801005 0x801014
赞
0
评论
回复
支持
反对
1
2
3
4
5
6
7
8
9
/ 9 页
下一页
所属标签
相似问题
关于
意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
在这里1代表的是一个单位量
p1+5=p1+5*1=p1+5*sizeof(unsigned char)=p1+5*1=0x801000+ox5=0x801005
p2+5=p2+5*1=p2+5*sizeof(unsigned long)=p1+5*4=0x810000+20=0x810000+0x14=0x810014
p1+5的值是0x801005,因为指针变量指向的是字符,加一表示指针向后移动一个字节,那么加5代表向后移动5个字节,所以输出0x801005
p2+5的值是0x810014,因为指针变量指向的长整形的,加一表示指针向后移动4个字节,那么加5代表向后移动20个字节,所以输出0x810014
经验证也是对的,如下图所示
unsigned long *p2;
p1=(unsigned char *)0x801000;
p2=(unsigned long *)0x810000;
请问
p1+5= 0x801000+5*sizeof(unsigned char);
p2+5= 0x801000+5*sizeof(unsigned long);
unsigned long *p2;
p1=(unsigned char *)0x801000;
p2=(unsigned long *)0x810000;
请问
p1+5= 0x801000+5*sizeof(unsigned char);
p2+5= 0x801000+5*sizeof(unsigned long);
p2+5=810014
0x810005;
0x810014;