كيف تعريف مصفوفة حجمها لا يعرف الا بعد التنفيذ
#1
السلام عليكم
كيف يتم تعريف مصفوفة قيود حجمها لا يعرف الا بعد تنفيذ مجموعه عمليات اي كيف يتم حجز لها موقع في الذاكره اثناء تنفيذ البرنامج وكيف يتم تحريره عند الانتهاء منه
الرد
#2
و عليكم السلام

تعريف مصفوفة مجهول حجمها
كود :
var S: array of array of string;

اعطاء حجما لها
كود :
SetLength(S, 5); // المصفوفة ككل تحتوى على خمسة اسطر SetLength(S[0], 3); // السطر الاول يحتوى على ثلاث اعمدة

تحريرها ان صح التعبير
كود :
SetLength(S, 0);

يوجد درس حول التعامل مع المصفوفات فى دورة دالفى للعرب .
الرد
#3
أو للمصفوفة المربعة
PHP كود :
setlength(A,2,3) 
أي المصفوفة A تتكون من صفين و ثلاثة أعمدة وذلك يوافق التعريف التالي
كود :
A:array [0..1,0..2] of integer
دليل المصفوفة الديناميكية دائما يبدأ بصفر.

لتحرير المصفوفة من الذاكرة اسند لمتغير المصفوفة قيمة nil التي تعني لا شيء
لأن اسم المصفوفة هو في الواقع مؤشر يؤشر إلى أول موقع في المصفوفة.
PHP كود :
A := nil 
أو استعمل الاجراء Finalize
PHP كود :
finalize(A); 

الإجراء setlength يستخدم لحجز عدد خلايا المصفوفة ولا ينهيها من الذاكرة، إعادة استخدامه مع نفس المصفوفة يؤدي إما إلى زيادة عدد عناصرها أو بترها.

ملاحظة: المصفوفة لن يتم تحريرها من الذاكرة اذا كان هناك متغير آخر يؤشر إليها.
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم