以前一直有个疑问,指向不同类型的指针到底占用的内存空间是多大呢? 这个问题我多次问过老师,老师的答案是“指向不同类型的指针占据的内存空间大小不同”,我一直很之一这个答案,今天我就做了个小小的实验,发现的确老师的答案是错误的。废话不多说,直接上代码:
#include<iostream>
using namespace std; void main(){ double j=5;double &i=j;double *pi=&i;cout<<"&pi="<<&pi<<endl;cout<<"&i="<<&i<<endl;cout<<"&j="<<&j<<endl;cout<<"sizeof(j)="<<sizeof(j)<<endl;cout<<"sizeof(i)="<<sizeof(i)<<endl;cout<<"sizeof(pi)="<<sizeof(pi)<<endl; }运行出的结果在我的意料之中,
C语言中指针变量是占据内存空间的,而且根据不同的开发环境,占据的内存大小不同。 我上网查了些资料; 32位windows系统占用4字节 64位windows系统占用8字节 实施证明,老师说的是错的。 好了这点经验分享给大家了,本人是初学者,欢迎高手指教。谢谢大家! QQ:178904780