البرمجة بلغة C: المؤشرات والذاكرة الديناميكية
المستوى: الثالثة ثانوي (شعب علمية)
1. المؤشرات (Pointers)
المؤشر هو متغير يخزن عنوان متغير آخر.
int x = 5;
int *p = &x; // p يخزن عنوان x
printf(“%d”, *p); // يطبع 5 (قيمة x)
2. الذاكرة الديناميكية
int *arr = (int*)malloc(n * sizeof(int)); // تخصيص مصفوفة
free(arr); // تحرير الذاكرة
3. المؤشرات والمصفوفات
int arr[5] = {1,2,3,4,5};
int *p = arr;
p[2] = 10; // arr[2] = 10
تمارين
التمرين 1: اكتب برنامجاً يخصص مصفوفة من n عدد حقيقي باستخدام malloc.
التمرين 2: اشرح الفرق بين int *p و int**p.
الحلول:
حل 1: double *arr = (double*)malloc(n * sizeof(double));
حل 2: int *p مؤشر إلى int، int **p مؤشر إلى مؤشر إلى int.
للمزيد: راجع درس لغة C ودرس الخوارزميات.
مدونة التربية و التعليم في الجزائر – دروس، فروض، نتائج امتحانات مدونة التربية والتعليم في الجزائر | تحضير الدروس، فروض واختبارات، نتائج البكالوريا وBEM، مسابقات التوظيف، والتوجيه المدرسي للطلاب وأولياء الأمور.