请问:C/C++中,系统是如何判断指针的类型的?

inwind 2002-08-25 09:58:51
在C/C++中,指针变量占用4个字节的内存空间,这4个字节的二进制格式是什么样的呢?系统是如何判断指针的类型的?
...全文
281 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zheng_can 2002-08-25
  • 打赏
  • 举报
回复
to fqcd555(网络田野)
建议找本编译原理来看一看
会有用的
awinder 2002-08-25
  • 打赏
  • 举报
回复
编译时,系统会构造一个符号表,存储变量地址和类型,等到实际执行时p++,q++已经变成add [bp-xxx],4之类的指令了
fqcd555 2002-08-25
  • 打赏
  • 举报
回复
楼上我都看不懂,那位大虾真的懂,给我发个短信.
zheng_can 2002-08-25
  • 打赏
  • 举报
回复
除了 RTTI 外
系统判断是在编译器进行的
那样时,编译器会自动维护一个符号表
通过查表就能够得出各种指针变量的类型

RTTI 中
系统会保留额外的类型消息

有了类型,要去的每次的步长也就不是什么难事了
inwind 2002-08-25
  • 打赏
  • 举报
回复
如果定义
int *p;
float *q;
p++;
q++;

系统是如何判断出各种指针变量在进行自加操作时的步长的?
golden_alvin 2002-08-25
  • 打赏
  • 举报
回复
必要的时候自己进行强行类型转换
earthharp 2002-08-25
  • 打赏
  • 举报
回复
装的就是数字。
指针类型不是你自己用的么,系统判断不来的。
lizhuohua 2002-08-25
  • 打赏
  • 举报
回复
http://www.csdn.net/Develop/Read_Article.asp?Id=14165

69,379

社区成员

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

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