CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

强制类型转换的问题

楼主lirivernick(不知所云)2004-08-01 20:37:00 在 C/C++ / C语言 提问

typedef   struct  
  {  
      ……  
   
  }*structp;  
   
  test(char   *m)  
  {    
      structp   a;  
      a   =   (structp)m;/*请问这里进行类型转换之后的结果请教大侠们!*/  
      ……  
   
  }  
   
  问题点数:50、回复次数:6Top

1 楼kingfox(小狐仙)回复于 2004-08-01 21:54:46 得分 10

变量a指向了m指向的空间,并且将按照(*structp)的方式访问内存。Top

2 楼peter9606( 荷尔蒙一失效 人就清醒了)回复于 2004-08-01 21:56:53 得分 20

偶来试试:  
   
  char   *m     表明原来是一个字符串,现在(structp)m   表明这个字符串被强制转换成了一个structp类型的,  
   
  其实强制类型转换就是高速编译器   对某个地址开始的内存以新的方式进行解释~Top

3 楼lirivernick(不知所云)回复于 2004-08-01 22:05:55 得分 0

那请问如何访问m[i]这个值Top

4 楼peter9606( 荷尔蒙一失效 人就清醒了)回复于 2004-08-01 22:07:49 得分 10

m已经被强制转换了    
  你访问这个值有什么意义么?  
  既然已经是结构体了那就用结构体的方法访问它的成员  
  你可以继续用m+i的方法访问你想要访问的那块内存   不过不知道这样做有什么意义~Top

5 楼lirivernick(不知所云)回复于 2004-08-01 22:16:22 得分 0

是不是说结构体里的成员和m中的内容对应起来了?Top

6 楼steel007(小宝)(工作在windows和linux平台上)回复于 2004-08-01 22:21:58 得分 10

以m所指向的内存空间已经按照新的方式(struct结构体)来解释,当然应该按照结构体中的成员来访问m指向地址中的东东。Top

相关问题

  • 强制类型转换
  • 类型强制转换
  • 关于强制类型转换
  • 急,javascript强制类型转换string -》 int
  • 强制类型转换与重载!!!
  • 关于强制类型转换
  • vb中的强制类型转换
  • C++中的强制类型转换
  • 关于数据类型强制转换。。
  • 对象类型强制转换?

关键词

  • 转换
  • 内存
  • 结构
  • structp
  • 类型
  • 访问
  • 指向
  • 结构体
  • 成员
  • 方式

得分解答快速导航

  • 帖主:lirivernick
  • kingfox
  • peter9606
  • peter9606
  • steel007

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo