再问一个指针问题

zjfhgdx 2008-10-26 11:04:06

int *vptr;//当它作为左值时,*vptr是否等价于vptr?
int v[5];

*vptr=v;
vptr=v;//这样可不可以?

*vprt=v[3];//这时如果v[3]=10000,是不是*vptr指向内存位置10000?而不是指向v[3]?
*vptr=&v[3];//这样应该是指向v[3]对吧。
...全文
56 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
太乙 2008-10-26
  • 打赏
  • 举报
回复
汗~~~~~

*vptr=v; //这样不可以吧?

除非是vptr的定义差不多


vptr=v;//这样可不可以? 肯定可以咯


*vprt=v[3];//这时如果v[3]=10000,是不是*vptr指向内存位置10000?而不是指向v[3]?
这就是赋值嘛!没啥特殊的!
不涉及vprt的指向问题!



*vptr=&v[3];//这样应该是指向v[3]对吧。
还是那句:如果是定义式,对,否则应该是vptr=&v[3];
aaajj 2008-10-26
  • 打赏
  • 举报
回复
int *vptr=v; //定义的时候可以这样写;
vptr=v;//

*vprt=v[3];//这时如果v[3]=10000,是不是*vptr指向内存位置10000?而不是指向v[3]?
把v[3]的值赋给*vprt

*vptr=&v[3];//这样应该是指向v[3]对吧 错
应该是
vptr=&v[3];//
liubuweiright 2008-10-26
  • 打赏
  • 举报
回复
int *vptr;//当它作为左值时,*vptr是否等价于vptr? //不太会,只是不一样的概念,*vptr是一个指针指向的变量,vptr是一个指针变量
*vptr=v;
vptr=v;//这样可不可以? //可以的


*vprt=v[3];//这时如果v[3]=10000,是不是*vptr指向内存位置10000?而不是指向v[3]?
不太会回答了!!!靠你自己

*vptr=&v[3];//这样应该是指向v[3]对吧。 //是的

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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