سلام، منم متاسفانه با این جور مسائل آشنایی مناسبی ندارم. چیزایی که به فکرم رسیده رو خدمت شما، می گم.
حداکثر سایز آرایه ی مورد نظر شما، بستگی به حافظه ی در دسترس برنامه ی شما داره. می دونیم که تو سیستمای 32 بیتی، 32^2 بایت، یعنی 4 گیگابایت فضا داریم که می تونیم با اشاره گر بهش آدرس دهی کنیم.به هر جهت، با توجه به این که سایز آرایه ی مورد نظر خیلی زیاده، می تونید از اشاره گر کمک بگیرید.
به این صورت که با زبان سی پلاس پلاس:
-
اون آرایه رو ابتدا تحت عنوان یه اشاره گر تعریف کنید.
-
بعد یه فضایی از حافظه رو، به کمک عملگر new بهش اختصاص بدید.
-
در نهایت همون فضای حافظه رو، با عملگر delete تخلیه کنید.
این میشه منطق برنامه ی شما؛ نحوه ی پیاده سازیش هم، سادهس. در حقیقت به جایی که حافظه رو فیکس ببندیم، اونو به صورت پویا پایه ریزی می کنیم:
#include<iostream>
int main(){
int* d = NULL;
int m=9000000;
d = new int[m];
for (int i=0; i<m; i++) {
d[i] = 0;
}
std::cout << d;
delete [] d;
d = NULL;
}