2 anhaoxuan anhaoxuan 于 2016.04.16 09:39 提问

C++关于指针的超简单问题

int point=0;
int *point=&point;

这是我一个程序中的两行代码 然后编译器报错说
error C2040: 'point' : 'int *' differs in levels of indirection from 'int'

请问我该如何处理 谢谢

3个回答

caozhy
caozhy   Ds   Rxr 2016.04.16 09:44
已采纳

int point=0;
point=(int)&point;
这样写

anhaoxuan
anhaoxuan 谢谢你 我大概能理解你的意思了 真心感谢!!!
一年多之前 回复
caozhy
caozhy 回复anhaoxuan: 你理解错了,指针变量也是变量,不能和另一个变量重名,尽管类型不同。
一年多之前 回复
anhaoxuan
anhaoxuan 回复caozhy: 指针本身不就是另一个变量么int *point 和 int point就是两个变量啊 指针的意思难道不是“储存变量地址的变量”么 你为什么说我定义了两次一个变量名呢
一年多之前 回复
caozhy
caozhy 回复anhaoxuan: 总之,你不能一个变量名定义两次。
一年多之前 回复
caozhy
caozhy 回复anhaoxuan: 或者你可以再定义一个变量int *point1
一年多之前 回复
anhaoxuan
anhaoxuan 我是想定义point的指针来保存point的内存地址 如果这么写不就没有指针了么
一年多之前 回复
caozhy
caozhy   Ds   Rxr 2016.04.16 09:44

你两个变量怎么叫一个名字呢?

qq423399099
qq423399099   Ds   Rxr 2016.04.16 09:56

既然知识想保存point的内存地址,为什么一定要把指针的名字也取成point?

anhaoxuan
anhaoxuan 谢谢我知道我的错误了 已经修正了我的程序 真心感谢!!!
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!