ما هي وظيفة calloc () في C ++؟

Ma Hy Wzyft Calloc Fy C



يعد فهم الأنواع المختلفة لوظائف تخصيص الذاكرة أمرًا بالغ الأهمية أثناء العمل في C ++. ال calloc () هي إحدى هذه الوظائف التي تُستخدم بشكل متكرر في C ++ لتخصيص الذاكرة ديناميكيًا. على الرغم من أن استخدامه قد يبدو بسيطًا ، إلا أن هناك بعض الجوانب المهمة التي يجب مراعاتها أثناء الاستخدام calloc () .

في هذه المقالة ، سوف ننظر في calloc () وظيفة وكيف يمكن استخدامها بنجاح في C ++.

ما هي وظيفة calloc ()؟

ال دالة calloc () هي وظيفة تخصيص الذاكرة في برمجة C ++. يتم استخدامه لتخصيص كتلة من الذاكرة لصفيف أو مجموعة من المتغيرات. ال calloc () الوظيفة مثل مالوك () وظيفة ، إلا أنها تحدد أيضًا الذاكرة المخصصة إلى أصفار في البداية. يضمن ذلك تهيئة الذاكرة المخصصة إلى قيمة معروفة ، وهو أمر مفيد عند التعامل مع المصفوفات والبنى.







بناء الجملة لملف دالة calloc () على النحو التالي:



فارغ * calloc ( size_t نميمب و size_t مقاس )

تأخذ الوظيفة وسيطين: نميمب و مقاس . ال نميمب تحدد الوسيطة عدد العناصر في المصفوفة التي يتم تخصيصها ، في حين أن مقاس تحدد الوسيطة حجم كل عنصر بالبايت.



أيضًا ، إذا نجح تخصيص الذاكرة ، فإن ملف calloc () ترجع الدالة مؤشرًا فارغًا ، وإلا فإنها ترجع مؤشرًا إلى بداية كتلة الذاكرة المشكلة حديثًا. لتجنب تسرب الذاكرة ، تم تخصيص الذاكرة بواسطة calloc () يجب إزالتها باستخدام حر() مرة واحدة لم يعد مطلوبًا.





كيفية استخدام دالة calloc () في C ++؟

ليستخدم calloc () تعمل في C ++ ، اتبع الخطوات الموضحة أدناه:

الخطوة 1: قم بتضمين ملف الرأس الضروري لـ calloc () وظيفة ، وهي .



الخطوة 2: ثم قم بتعريف متغير المؤشر لنوع البيانات المطلوب.

الخطوه 3: بعد ذلك استخدم ملف calloc () وظيفة لتخصيص الذاكرة وتهيئتها إلى 0.

الخطوة الرابعة: استخدم الذاكرة المخصصة كما هو مطلوب.

الخطوة الخامسة: بمجرد الانتهاء من استخدام الذاكرة المخصصة ، قم بتحريرها باستخدام ملف حر() وظيفة.

يوضح المثال التالي ملف calloc () تنفيذ الوظيفة في C ++.

# تضمين

# تضمين

استخدام اسم للمحطة ؛

int رئيسي ( ) {

int * ptr ؛

ptr = ( int * ) calloc ( 6 و حجم ( int ) ) ؛

لو ( ! ptr ) {

كوت << 'فشل تخصيص الذاكرة' ؛

مخرج ( 1 ) ؛

}

كوت << 'جاري تهيئة القيم ...' << إندل

<< إندل ؛

ل ( int أنا = 0 ؛ أنا < 6 ؛ أنا ++ ) {

ptr [ أنا ] = أنا * 3 ؛

}

كوت << 'القيم الأولية'. << إندل ؛

ل ( int أنا = 0 ؛ أنا < 6 ؛ أنا ++ ) {

كوت << * ( ptr + أنا ) << إندل ؛

}

حر ( ptr ) ؛

يعود 0 ؛

}

في الكود أعلاه ، مؤشر عدد صحيح ptr أعلن أولا. ثم يتم تخصيص الذاكرة لمدة 6 أعداد صحيحة باستخدام calloc () ، مع الذاكرة التي تتم تهيئتها بـ 0. ملف sizeof (int) تستخدم الدالة لحساب مقدار الذاكرة المطلوبة لتخزين الأعداد الصحيحة. ثم يتم فحص تخصيص الذاكرة بحثًا عن أخطاء لضمان النجاح. إذا لم يكن الأمر كذلك ، فسيتم إنهاء البرنامج وتظهر رسالة خطأ.

يتم بعد ذلك تهيئة الذاكرة المخصصة باستخدام الأرقام التي تم الحصول عليها عن طريق الضرب 'أنا * 3' باستخدام أ ل حلقة. تتم طباعة القيم المحفوظة في الذاكرة المخصصة باستخدام حساب حلقة for ثانية ومؤشر باستخدام * (ptr + i) . في النهاية ، يتم تحرير الذاكرة التي تم تخصيصها ديناميكيًا عن طريق استدعاء حر() وظيفة ، مما يوقف تسرب الذاكرة. كدليل على أن البرنامج قد تم تشغيله بنجاح ، فإنه يقوم بإرجاع 0.

انتاج |

خاتمة

في C ++ ، فإن ملف calloc () وظيفة مفيدة لتخصيص الذاكرة ديناميكيًا. لا يقتصر الأمر على تخصيص الذاكرة فحسب ، بل يقوم أيضًا بإخراجها من الأصفار ، وهو أمر مفيد عند التعامل مع المصفوفات والهياكل. فهم كيفية الاستفادة calloc () بشكل فعال أمر حاسم لتجنب تسرب الذاكرة وضمان نجاح تنفيذ البرنامج. يمكن للمطورين استخدام ملفات calloc () الطريقة في برامج C ++ الخاصة بهم باتباع الإرشادات الواردة في هذه المقالة.