[問題] 陣列大小未知
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
bcb
問題(Question):
int *num = (int*)malloc(sizeof(int)*size);//size=10;
參考網路資料,建立未知大小的陣列後,sizeof(num)=4
正確來講應該是sizeof(num)=40吧?
程式碼(Code):(請善用置底文網頁, 記得排版)
int size,i;
cin>>size; //size=10
int *num = (int*)malloc(sizeof(int)*size);
for(i=0;i<size;i++){
num[i]=i;
cout<<num[i]<<" ; ";
}
cout<<sizeof(num);
system("pause");//暫停
return 0;
補充說明(Supplement):
另外想請教int *num = (int*)malloc(sizeof(int)*size);
這樣的寫法是否就是讓使用者自行決定num陣列的大小,
而不會造成憶體空間浪費?
--
我是麵T,哩賀
http://ppt.cc/-eS5
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.117.96.87
※ 編輯: noodleT 來自: 140.117.96.87 (07/14 14:42)
→
07/14 14:48, , 1F
07/14 14:48, 1F
→
07/14 14:53, , 2F
07/14 14:53, 2F
→
07/14 15:04, , 3F
07/14 15:04, 3F
→
07/14 15:04, , 4F
07/14 15:04, 4F
→
07/14 22:06, , 5F
07/14 22:06, 5F
→
07/15 02:16, , 6F
07/15 02:16, 6F
→
07/15 02:17, , 7F
07/15 02:17, 7F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章