| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 133 人关注过本帖
标题:char类型指针大小是4 为什么+1只加1?
只看楼主 加入收藏
darklotte
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2020-11-20
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
char类型指针大小是4 为什么+1只加1?
char类型指针是4,char *pc;pc=pc+1; sizeof(char)=1字节,经过pc=pc+1之后,pc加了1个字节
搜索更多相关主题的帖子: char 指针 大小 类型 pc 
5 天前 23:24
请输入密码
Rank: 2
等 级:论坛游民
帖 子:7
专家分:22
注 册:2020-11-19
收藏
得分:7 
指针本身地址是常量值,4个字节不变。
指针指向下一个char数据,也就是指向下一个字节,故指向引用的字节+1。

Bug易改,码风难移。
有事离开,无事灌水。
4 天前 08:39
darklotte
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2020-11-20
收藏
得分:0 
char类型指针大小是4    p=p+1 应该加4  为什么加1呢
4 天前 20:09
llc_xz
Rank: 1
等 级:新手上路
帖 子:4
专家分:9
注 册:2016-7-5
收藏
得分:7 
sizeof(char)=1字节 表示一个字符变量占用1个字节,字符型指针加1表示指向下一个字符,不管指针是几个字节,指针加1对应加几个字节是按指针指向的数据类型所占的字节数执行的,字符型占用1个字节,所以字符型指针值加1,就是地址加1,指向下一个字符,如果是加4,指针将指向当前字符后面的第4个字符了。
总结:指针加1,即指针指向的数据类型占用几个字节指针值就加几(指针值本身就是内存地址,内存地址的编址是按字节进行的。),只有这样指针才可以正确指向该数据类型的下一个值。

[此贴子已经被作者于2020-11-22 06:29编辑过]

3 天前 06:23
zbjzbj
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:郑州
等 级:版主
威 望:43
帖 子:557
专家分:2741
注 册:2011-4-22
收藏
得分:7 
旅馆7楼第一个房间是7001,下一个房间那就是7002,这就是指针(指向房间的地址编号)+1
不是7005
3 天前 14:49
快速回复:char类型指针大小是4 为什么+1只加1?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.068963 second(s), 9 queries.
Copyright©2004-2020, BCCN.NET, All Rights Reserved