void *指针加一的话是前进几个字节的地址单元的

uusunny 2008-11-06 03:32:03
如题,谢谢
...全文
1366 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
allenpettle 2008-11-07
  • 打赏
  • 举报
回复
指针应该无法进行加减动作。
Lz只要记住32位机下,指针占4字节
huang_dy 2008-11-07
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 ForestDB 的回复:]
#include <stdio.h>

int main(void)
{
int i;
void *p = &i;
printf("%p\n", p);
p++;
printf("%p\n", p);

return 0;
}

0xbffff614
0xbffff615
[/Quote]
vs2008下编译通不过。
void*指针应该不能进行+ -操作
snailman 2008-11-07
  • 打赏
  • 举报
回复
void*指针加减运算不确定
ForestDB 2008-11-07
  • 打赏
  • 举报
回复
#include <stdio.h>

int main(void)
{
int i;
void *p = &i;
printf("%p\n", p);
p++;
printf("%p\n", p);

return 0;
}

0xbffff614
0xbffff615
dzc8866 2008-11-07
  • 打赏
  • 举报
回复
UP
lbh2001 2008-11-07
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 Amanbaiye 的回复:]
sizeof(void*)是多大就前进多少
指针应该都是四字节吧
void *p;
即使p指向int型
测试发现 gcc下仍只加了一个字节
[/Quote]
印象中标准上说void*不能作为sizeof运算符的参数,因为是不完整类型
但很多编译器对此还是支持的,估计实现也很不一样
Amanbaiye 2008-11-06
  • 打赏
  • 举报
回复
sizeof(void*)是多大就前进多少
指针应该都是四字节吧
void *p;
即使p指向int型
测试发现 gcc下仍只加了一个字节
silence00 2008-11-06
  • 打赏
  • 举报
回复
那要看指针变量的基类型,移动一个存储单元,字节是基类型变量所占字节数,如是int型的,就移动4字节~!
jackzhhuang 2008-11-06
  • 打赏
  • 举报
回复
我知道在汇编下是过不了编译的。
xhs_lh04 2008-11-06
  • 打赏
  • 举报
回复
可以自加后再强制转换
(char *)*(++p);
(int *)*(++p);
可以发现都是偏移了一个字节
shinefree2004 2008-11-06
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lbh2001 的回复:]
sizeof(void*)是多大就前进多少
[/Quote]
支持
yangkunhenry 2008-11-06
  • 打赏
  • 举报
回复

#include<stdio.h>
void main()
{
void *a;
printf("%d\n",sizeof(a));// 4
a++;// error C2036: 'void *' : unknown size
}
cyj626 2008-11-06
  • 打赏
  • 举报
回复
-_-!
lbh2001 2008-11-06
  • 打赏
  • 举报
回复
VC下虽然sizeof(void*);合法

int i = 0;
void *p = &i;
++p; ---->非法
jingyuge 2008-11-06
  • 打赏
  • 举报
回复
得先强制转换,再+-
will2046 2008-11-06
  • 打赏
  • 举报
回复
应该在强制类型转换后再看吧。。。
空的不好说。。
帅得不敢出门 2008-11-06
  • 打赏
  • 举报
回复
无类型指针
不可做你所说的 加减操作
lbh2001 2008-11-06
  • 打赏
  • 举报
回复
sizeof(void*)是多大就前进多少
mandarin 2008-11-06
  • 打赏
  • 举报
回复
4,不过没试过,自己可以试一下的
hhyttppd 2008-11-06
  • 打赏
  • 举报
回复
能编译过去吗?呵呵
加载更多回复(2)

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧