如何让void *型指针???

zyyunhappy 2010-05-30 01:55:23
如何让void *型指针指向下一个高地址字节单元(比当前所指单元的地址值高1的单元)?那个单元内容如何显示(1个字节)?函数指针也不能直接加1,能否编一段小程序显示main函数内存中的前100个字节内容(16进制表示)?
...全文
164 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
b_duan 2010-05-31
  • 打赏
  • 举报
回复
void*相当于指针类型的抽象,具体用时一定要强转成具体的类型。
b_duan 2010-05-31
  • 打赏
  • 举报
回复
void*相当于指针类型的抽象,具体用时一定要强转成具体的类型。
liutengfeigo 2010-05-31
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zhzxlc_06 的回复:]

http://topic.csdn.net/u/20100510/18/83618bc5-bc57-467b-b3b1-6aa508e3f592.html?97603
[/Quote]
学习了
wesleyluo 2010-05-31
  • 打赏
  • 举报
回复
学习学习。
liang800518 2010-05-31
  • 打赏
  • 举报
回复
学习学习
ArtiFly2000 2010-05-30
  • 打赏
  • 举报
回复

(void*)((char *)p + sizeof(int))
int可以改成任意你使用的类型

skyworth98 2010-05-30
  • 打赏
  • 举报
回复
sp

[Quote=引用 1 楼 zmlovelx 的回复:]
一个字节
用(char*) 强制转换
然后自增
[/Quote]
2010-05-30
  • 打赏
  • 举报
回复
void* 不能参与算术运算,可以用 char*
#include <stdio.h>
int main()
{
unsigned char * p = (unsigned char*)main;
for(int i = 0; i < 10; ++i)
{
for(int j = 0; j < 10; ++j)
printf("%02x ", *p++);
putchar('\n');
}
return 0;
}
帅得不敢出门 2010-05-30
  • 打赏
  • 举报
回复
一个字节
用(char*) 强制转换
然后自增

70,037

社区成员

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

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