专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > C++ Builder

一级指针为啥不能指向一级指针的地址而可以指向变量的地址?

发布时间:2011-06-28 10:21:42 文章来源:www.iduyao.cn 采编人员:星星草
一级指针为什么不能指向一级指针的地址而可以指向变量的地址??

------解决思路----------------------
我们说这是什么什么指针,也就是说指针指向的地址其内容如何解释。

int * 表示 指针指向的内容是一个整数。
指针本身也是占用内存的,即可以取指针的地址,如果用一个指针指针另一个指针,那么我们说这是双重指针,如int **

对于C/C++类型系统而言,对一个指针取其地址,其类型是双重指针。
double *a ; 
double *b = &a ;  //这行是否能通过编译,要看不同的编译器的,新一点的编译器是通不过编译的。因为类型不匹配,需要强制转换
很明显,这样做的结果是解释错误。错误的代码,就算能通过编译也是错误的。

------解决思路----------------------
一级指针为什么不能指向一级指针的地址而可以指向变量的地址?

无论什么指针,通过强制转换,都能成功指向一个地址,但成功指向有什么用呢。指针是要使用的,你得到一个指针,却不知道指针指向的是什么,那就失去了意义。
本来指向的是狗房子,却硬说指向的是一只狗,这是错误的编程理念。
------解决思路----------------------
你这么弄肯定会报错。
double是双字浮点的变量。
声明一个double *的指针,是可以指向这样的变量。
但是你要保存这些指针的值。
那么要了解指针的值是什么?是内存的地址,是整数。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: