K-FIVE
پنج شنبه 22 بهمن 1394, 20:25 عصر
درود
قاعدا با new دادن به یک اشاره گر ب اندازه تعریف شده باید حافظه اختصاص یباد
اما برای من اینطور نشده اینبار :
#include <iostream>
#include <iomanip>
using namespace std;
int main(){
int* i = new int;
i[0]=10;
cout<<"i[0] = "<<i[0]<<endl;
i[1]=11;
cout<<"i[1] = "<<i[1]<<endl;
i[2]=12;
cout<<"i[2] = "<<i[2]<<endl;
i[3]=13;
cout<<"i[3] = "<<i[3]<<endl;
i[4]=14;
cout<<"i[4] = "<<i[4]<<endl;
i[500]=2000;
cout<<"i[500] = "<<i[500]<<endl;
delete i;
return 0;
}
خب من فقط 1 اینت حافظه گرفتم / اما به ادرس 500 هم دسترسی دارم / چرا ؟
در حلقه for ک تست کردم تا 35000 هزار هم دسترسی داشتم
138992
#include <iostream>
#include <iomanip>
using namespace std;
int main(){
int* i = new int;
*i = 0;
cout<<i[0]<<endl;
i+=1000;
*i = 1000;
cout<<*i<<endl;
i += 9000;
*i = 9000;
cout<<*i<<endl;
i-=10000;
delete i;
return 0;
}
output :
0
1000
9000
Process returned 0 (0x0) execution time : 0.035 s
Press ENTER to continue.
ممنون میشم کسی بگه ایراد از کجاست :)
اگر هم این پست تکرار هست و قبلا جواب داه شد / لینک جواب رو بده و این روو حذف کنه / ممنون
قاعدا با new دادن به یک اشاره گر ب اندازه تعریف شده باید حافظه اختصاص یباد
اما برای من اینطور نشده اینبار :
#include <iostream>
#include <iomanip>
using namespace std;
int main(){
int* i = new int;
i[0]=10;
cout<<"i[0] = "<<i[0]<<endl;
i[1]=11;
cout<<"i[1] = "<<i[1]<<endl;
i[2]=12;
cout<<"i[2] = "<<i[2]<<endl;
i[3]=13;
cout<<"i[3] = "<<i[3]<<endl;
i[4]=14;
cout<<"i[4] = "<<i[4]<<endl;
i[500]=2000;
cout<<"i[500] = "<<i[500]<<endl;
delete i;
return 0;
}
خب من فقط 1 اینت حافظه گرفتم / اما به ادرس 500 هم دسترسی دارم / چرا ؟
در حلقه for ک تست کردم تا 35000 هزار هم دسترسی داشتم
138992
#include <iostream>
#include <iomanip>
using namespace std;
int main(){
int* i = new int;
*i = 0;
cout<<i[0]<<endl;
i+=1000;
*i = 1000;
cout<<*i<<endl;
i += 9000;
*i = 9000;
cout<<*i<<endl;
i-=10000;
delete i;
return 0;
}
output :
0
1000
9000
Process returned 0 (0x0) execution time : 0.035 s
Press ENTER to continue.
ممنون میشم کسی بگه ایراد از کجاست :)
اگر هم این پست تکرار هست و قبلا جواب داه شد / لینک جواب رو بده و این روو حذف کنه / ممنون