freeelectron
发表于 2016-3-18 09:04:15
p1+5=(unsigned char *)0x801005;
p2+5=(unsigned long *)0x810005;
249538819
发表于 2016-3-18 09:04:20
0x801005
0x810014
wujianwei3980-5
发表于 2016-3-18 09:06:27
签到。。。。。。。。。。。。。
Paderboy
发表于 2016-3-18 09:07:29
:loveliness:
:loveliness::loveliness:0x8010050x81000a
andrewz
发表于 2016-3-18 09:08:08
签到签到~~~~
ropepeng
发表于 2016-3-18 09:08:30
0x801005
0x810014
我要学stm32
发表于 2016-3-18 09:11:34
签到...............
zwjiang8212
发表于 2016-3-18 09:11:47
签到:lol:lol:lol
aszrf
发表于 2016-3-18 09:11:57
签到签到
zhuoyemp4
发表于 2016-3-18 09:12:09
这考察的是指针加法中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
经验证也是对的,如下图所示
页:
1
2
[3]
4
5
6
7
8
9
10
11
12