На самом деле я видел, что когда я пытаюсь определить массив, лучше определить размер после определения размера индекса.Итак, чтобы определить размер таким образом, я написал это ...
#include<bits/stdc++.h>
using namespace std;
main()
{
int *array,size;
cout<<"The size of the array pointer: "<<sizeof(array)<<endl;
cout<<"Enter the size of your array: ";
cin>>size;
array=new int[size];
cout<<"The size of the array pointer: "<<sizeof(array)<<endl;
// During the compilation the above line of code is ignored & won't shown in the Console.
cout<<"Enter elements:"<<endl;
for(int i=0;i<size;i++)
{
cin>>array[i];
}
cout<<"Your array: ";
for(int i=0;i<size;i++)
{
cout<<array[i]<<" ";
}
cout<<endl<<"The size of the array pointer: "<<sizeof(array)<<endl;
}
Но с самого начала размер массива показывает 8 байт, в то время как каждое целое число занимает 4 байта памяти.У меня нет проблем при сохранении массива любого размера.Он работает так же, как параметризованный массив.Но мой вопрос: почему потребовалось всего 8 байтов памяти?