你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
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管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
在这里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;