هل درست البوينتر ؟ اذا درسته سوف تفهم لكن سوف اشرح لك
الفرق بين الداينمك و الستاتك
ف علي سبيل المثال عندما تقوم بتعريف متغير ( ستاتك ) مثلا int a; ف هذا المتغير سوف يتم تعريفه اثناء عمل كومبايل للبرنامج
اما ف حاله الداينمك مثلا int *a = new int; فسوف يتم تعريف هذا المتغير اثناء عمل البرنامج ( Run time ) وهذا المطلوب ف حالتك لانك ماتعرف حجم المصفوفه الا بعد الادخال من المستخدم اي انه خلال run time
لكن لابد ان تقوم بحذف المتغير عند الانتهاء منه delete .
حسنا هذا لا يجوز، لأن حجم المصفوفة يجب توفيره في وقت التجميع وليس وقت التنفيذ، الأمور لا تعمل هكذا استخدم malloc وalloc إذا كنت تريد مصفوفات بحجم ديناميكي.