C語言中指針佔據內存空間問題

 以前一直有個疑問,指向不同類型的指針到底佔用的內存空間是多大呢? 這個問題我多次問過老師,老師的答案是“指向不同類型的指針佔據的內存空間大小不同”,我一直很之一這個答案,今天我就做了個小小的實驗,發現的確老師的答案是錯誤的。廢話不多說,直接上代碼:

#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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章