السلام عليكم
لقد أخبرنا الدكتور أن المصفوفات تساعد في اختصار زمن تنفيذ البرنامج عند تنفيذه لأن المصفوفة تأخذ كتلة من الذاكرة واحدة و تضع فيها المتغيرات فلو كانت المصفوفة ثلاثية الحجم
int arr[3];
و لدينا ثلاث متغيرات
int var1,var2,var3;
فإن المصفوفة تخزن عناصرها في عناوين متتالية أما التعريف العشوائي للمتغيرات الثلاث لن يجز بالضرورة أماكن متتالية .
و بالفعل صدقت هذا الكلام و لكن عندما جرّبتُ أن أطبق تقنية الـpointer للتأكد من صحة ذلك ظهرت معي النواتج التالية و هي أنه قد حجز للمتغيرات الثلاث أماكن متتالية من الذاكرة كما في المصفوفة فما التفسير
برنامج يستخدم متغيرات ثلاثة ليست ضمن مصفوفة :
#include<iostream.h>
void main()
{
int var1,var2,var3;
cout<<"enter var 1"<<endl;
cin>>var1;
cout<<"enter var 2"<<endl;
cin>>var1;
cout<<"enter var 3"<<endl;
cin>>var1;
cout<<"the places of this variables in memory are"<<&var1<<","<<&var2<<","<<&var3<<","<<endl;
}الخرج التنفيذي:
ظهرت عناوين الذاكرة كالتالي:
0012ff7c,0012ff78,0012ff74
كود برنامج يستخدم مصفوفة ثلاثية الحجم:
#include<iostream.h>
void main()
{
int var[3];
cout<<"enter var 1"<<endl;
cin>>var[0];
cout<<"enter var 2"<<endl;
cin>>var[1];
cout<<"enter var 3"<<endl;
cin>>var[2];
cout<<"the places of this variables in memory are"<<&var[0]<<","<<&var[1]<<","<<&var[2]<<","<<endl;
}الخرج التنفيذي:
ظهرت عناوين الذاكرة كالتالي:
0012ff74,0012ff78,0012ff7c
أي فقط انعكسوا..


