以前一直有个疑问,指向不同类型的指针到底占用的内存空间是多大呢? 这个问题我多次问过老师,老师的答案是“指向不同类型的指针占据的内存空间大小不同”,我一直很之一这个答案,今天我就做了个小小的实验,发现的确老师的答案是错误的。废话不多说,直接上代码:
#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