ملخص: وسائط المؤشرات في الدوال
جزء من قسم Logic & Flow في رحلة C على Coddy — الدرس 30 من 63.
التحدي
سهلاكتب برنامجاً بلغة C ينفذ دالة للعثور على كل من القيمتين الصغرى والعظمى في مصفوفة باستخدام وسائط المؤشرات. يجب أن يقوم برنامجك بما يلي:
- إنشاء دالة باسم
findMinMaxتأخذ أربعة معاملات:- مصفوفة من الأعداد الصحيحة
- حجم المصفوفة
- مؤشر إلى عدد صحيح لتخزين القيمة الصغرى
- مؤشر إلى عدد صحيح لتخزين القيمة العظمى
- داخل دالة
findMinMax، قم بالمرور عبر المصفوفة للعثور على القيمتين الصغرى والعظمى - استخدم عامل إلغاء المرجعية (dereference operator) لتخزين القيمة الصغرى في العنوان الذي يشير إليه مؤشر القيمة الصغرى
- استخدم عامل إلغاء المرجعية لتخزين القيمة العظمى في العنوان الذي يشير إليه مؤشر القيمة العظمى
- في دالة
main، اقرأ عدداً صحيحاًnيمثل عدد العناصر في المصفوفة - اقرأ
nمن القيم الصحيحة وقم بتخزينها في مصفوفة - قم بالتصريح عن متغيرين صحيحين
minValueوmaxValueلتخزين النتائج - استدعِ دالة
findMinMax، مع تمرير المصفوفة وحجمها وعناوينminValueوmaxValue - اطبع النتائج بالتنسيق التالي:
Minimum: [value]وMaximum: [value]
على سبيل المثال، إذا كان المدخل هو:
5
12 7 23 4 18يجب أن يكون المخرج:
Minimum: 4
Maximum: 23يوضح هذا التحدي التقنية القوية لاستخدام وسائط مؤشرات متعددة لإرجاع قيم متعددة من استدعاء دالة واحدة، مما يسمح للدالة بتعديل المتغيرات في نطاق الدالة المستدعية.
جرّب بنفسك
#include <stdio.h>
// TODO: اكتب دالة findMinMax الخاصة بك هنا
int main() {
int n;
scanf("%d", &n);
int arr[n];
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
int minValue, maxValue;
// TODO: استدعِ دالة findMinMax هنا
printf("Minimum: %d\n", minValue);
printf("Maximum: %d\n", maxValue);
return 0;
}جميع دروس Logic & Flow
1أساسيات المؤشرات
ما هو المؤشر؟الإعلان عن المؤشراتعامل العنوان (&)عامل إلغاء المرجعية (*)مؤشرات NULLمراجعة: أساسيات المؤشرات4مشروع: أداة نصوص بسيطة
نظرة عامة على المشروععد الأحرف2المؤشرات والمصفوفات
أسماء المصفوفات كمؤشراتعناصر المصفوفة - المؤشراتالعمليات الحسابية على المؤشراتمقارنة المؤشراتمراجعة: التنقل في المصفوفة باستخدام المؤشرات5المؤشرات والدوال
التمرير بالقيمةتمرير المؤشرات إلى الدوالتعديل المتغيرات عبر المؤشراتمثال كلاسيكي: التبديلتمرير المصفوفات إلى الدوالملخص: وسائط المؤشرات في الدوال8الهياكل والمؤشرات
المؤشرات إلى الهياكلعامل السهم (->)تمرير الهياكل بالقيمةتمرير مؤشرات الهياكلالتخصيص الديناميكي للهياكلمراجعة: تعديل الهياكل باستخدام المؤشرات11تحديات المراجعة النهائية
مراجعة: دمج السلاسل النصية الديناميكيمراجعة: مصفوفة من الـ Structsمراجعة: عداد تكرار الكلمات3مصفوفات الأحرف والسلاسل النصية
السلاسل النصية كمصفوفات charالمُنهي الصفري (Null Terminator)إدخال السلاسل النصية باستخدام scanfاستخدام strlen()استخدام strcpy()استخدام strcat()استخدام strcmp()مراجعة: دوال السلاسل النصية الأساسية