2.6 KiB
title | localeTitle |
---|---|
malloc | malloc |
malloc في C
malloc () هي دالة مكتبة تسمح C لتخصيص الذاكرة بشكل حيوي من الكومة. كومة الذاكرة المؤقتة هي منطقة من الذاكرة حيث يتم تخزين شيء ما.
malloc () جزء من stdlib.h ولتتمكن من استخدامه تحتاج إلى استخدام #include <stdlib.h>
.
باستخدام Malloc
يخصص malloc () ذاكرة حجم المطلوب وإرجاع مؤشر إلى بداية كتلة المخصصة. للاحتفاظ بالمؤشر المرتجع ، يجب علينا إنشاء متغير. يجب أن يكون المؤشر من نفس النوع المستخدم في بيان malloc.
سنقوم هنا بإعداد مؤشر إلى مجموعة من النمل قريباً
int* arrayPtr;
بخلاف اللغات الأخرى ، لا تعرف C نوع البيانات الذي تقوم بتخصيص الذاكرة له ؛ يجب أن يقال. لحسن الحظ ، لدى C دالة تسمى sizeof()
يمكننا استخدامها.
arrayPtr = (int *)malloc(10 * sizeof(int));
استخدم هذا البيان malloc لوضع الذاكرة جانباً لمجموعة من 10 أعداد صحيحة. بما أن الأحجام يمكن أن تتغير بين أجهزة الكمبيوتر ، فمن المهم استخدام الدالة sizeof () لحساب الحجم على الكمبيوتر الحالي.
ستحتاج أي ذاكرة مخصصة أثناء تنفيذ البرنامج إلى تحريرها قبل إغلاق البرنامج. free
الذاكرة ، يمكننا استخدام وظيفة free ()
free( arrayPtr );
سيؤدي هذا البيان إلى إلغاء تخصيص الذاكرة التي تم تخصيصها مسبقًا. لا يأتي C مع garbage collector
مثل بعض اللغات الأخرى ، مثل Java. نتيجة لذلك ، سيتم تخصيص الذاكرة التي لم يتم تحريرها بشكل صحيح بعد إغلاق البرنامج.
قبل أن تذهب ...
مراجعة
- يتم استخدام Malloc لتخصيص الذاكرة الحيوية وهو مفيد عندما لا تعرف مقدار الذاكرة المطلوبة أثناء وقت التحويل البرمجي.
- تخصيص الذاكرة يسمح بوجود كائنات خارج نطاق الكتلة الحالية.
- C يمر بقيمة بدلاً من المرجع. استخدام malloc لتعيين الذاكرة ثم تمرير المؤشر إلى دالة أخرى أكثر فاعلية من إعادة إنشاء الدالة البنية.