English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل أساسي لغة C

تحكم عملية لغة C

الوظائف في لغة C

المسافات في لغة C

الإشارات في لغة C

السلاسل في لغة C

مباني لغة C

ملفات لغة C

C أخرى

دليل مرجع لغة C

استخدام وظيفة free() في مكتبة C وعرض الأمثلة

مكتبة C القياسية - <stdlib.h>

وظيفة مكتبة C void free(void *ptr) تحرير الذاكرة التي تم تخصيصها مسبقًا باستخدام calloc أو malloc أو realloc.

الإعلان

إعلان وظيفة free() هي كما يلي.

void free(void *ptr)

الم参数

  • ptr -- يشير المؤشر إلى قطعة ذاكرة تحتاج إلى تحريرها، والتي تم تخصيصها مسبقًا عن طريق دعوة malloc أو calloc أو realloc. إذا تم تمرير مؤشر فارغ، فإنه لن يتم تنفيذ أي إجراء.

قيمة العودة

هذه الوظيفة لا تعود أي قيمة.

مثال على الإنترنت

في هذا المثال، يتم عرض استخدام وظيفة free().

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
   char *str;
   /* تخصيص الذاكرة الأصلي */
   str = (char *) malloc(15);
   strcpy(str, "w3codebox");
   printf("String = %s,  Address = %p\n", str, str);
   /* إعادة تخصيص الذاكرة */
   str = (char *) realloc(str, 25);
   strcat(str, ".com");
   printf("String = %s,  Address = %p\n", str, str);
   /* تحرير الذاكرة المخصصة */
   free(str);
   return(0);
}

نحن سنقوم بترميز وتشغيل البرنامج المذكور أعلاه، مما ينتج عنه النتيجة التالية:

String = w3codebox,  Address = 0x7fe4e4c02b10
String = oldtoolbag.com,  Address = 0x7fe4e4c02b10

مكتبة C القياسية - <stdlib.h>