مراجعة: أساسيات المؤشرات
جزء من قسم Logic & Flow في رحلة C على Coddy — الدرس 6 من 63.
التحدي
سهلاكتب برنامجاً بلغة C يوضح سير عمل المؤشرات (pointers) بالكامل من خلال التعامل مع أنواع بيانات متعددة. يجب أن يقوم برنامجك بما يلي:
- التصريح عن متغير صحيح (integer) باسم
ageوتهيئته بالقيمة 25 - التصريح عن متغير حرفي (character) باسم
gradeوتهيئته بالقيمة 'A' - التصريح عن متغير عشري (float) باسم
temperatureوتهيئته بالقيمة 98.6 - التصريح عن ثلاثة مؤشرات مقابلة:
- مؤشر إلى عدد صحيح باسم
age_ptr - مؤشر إلى حرف باسم
grade_ptr - مؤشر إلى عدد عشري باسم
temp_ptr
- مؤشر إلى عدد صحيح باسم
- استخدام عامل العنوان (address-of operator) لتعيين عناوين المتغيرات إلى المؤشرات الخاصة بها
- استخدام عامل إلغاء المرجعية (dereference operator) لطباعة القيم الثلاث جميعها من خلال مؤشراتها بالتنسيق التالي:
- Age: [value]
- Grade: [value]
- Temperature: [value] (مع منزلة عشرية واحدة بالضبط)
- تعديل المتغيرات الأصلية من خلال مؤشراتها:
- تغيير
ageإلى 30 باستخدامage_ptr - تغيير
gradeإلى 'B' باستخدامgrade_ptr - تغيير
temperatureإلى 99.5 باستخدامtemp_ptr
- تغيير
- طباعة القيم المعدلة مباشرة من المتغيرات الأصلية (ليس من خلال المؤشرات) بنفس التنسيق المتبع في الخطوة 6
يجب أن يعرض مخرج البرنامج النتائج بالتنسيق التالي:
Age: 25
Grade: A
Temperature: 98.6
Age: 30
Grade: B
Temperature: 99.5يختبر هذا التحدي فهمك للتصريح عن المؤشرات، وتعيين العناوين، وإلغاء المرجعية (dereferencing) لكل من قراءة وكتابة القيم، ويوضح أن المؤشرات توفر وصولاً مباشراً إلى مواقع الذاكرة الخاصة بالمتغيرات الأصلية.
جرّب بنفسك
#include <stdio.h>
int main() {
// TODO: اكتب كودك هنا
// التصريح عن المتغيرات والمؤشرات
// تعيين العناوين للمؤشرات
// طباعة القيم من خلال المؤشرات
// تعديل القيم من خلال المؤشرات
// طباعة القيم المعدلة من المتغيرات الأصلية
return 0;
}جميع دروس Logic & Flow
1أساسيات المؤشرات
ما هو المؤشر؟الإعلان عن المؤشراتعامل العنوان (&)عامل إلغاء المرجعية (*)مؤشرات NULLمراجعة: أساسيات المؤشرات4مشروع: أداة نصوص بسيطة
نظرة عامة على المشروععد الأحرف2المؤشرات والمصفوفات
أسماء المصفوفات كمؤشراتعناصر المصفوفة - المؤشراتالعمليات الحسابية على المؤشراتمقارنة المؤشراتمراجعة: التنقل في المصفوفة باستخدام المؤشرات5المؤشرات والدوال
التمرير بالقيمةتمرير المؤشرات إلى الدوالتعديل المتغيرات عبر المؤشراتمثال كلاسيكي: التبديلتمرير المصفوفات إلى الدوالملخص: وسائط المؤشرات في الدوال8الهياكل والمؤشرات
المؤشرات إلى الهياكلعامل السهم (->)تمرير الهياكل بالقيمةتمرير مؤشرات الهياكلالتخصيص الديناميكي للهياكلمراجعة: تعديل الهياكل باستخدام المؤشرات11تحديات المراجعة النهائية
مراجعة: دمج السلاسل النصية الديناميكيمراجعة: مصفوفة من الـ Structsمراجعة: عداد تكرار الكلمات3مصفوفات الأحرف والسلاسل النصية
السلاسل النصية كمصفوفات charالمُنهي الصفري (Null Terminator)إدخال السلاسل النصية باستخدام scanfاستخدام strlen()استخدام strcpy()استخدام strcat()استخدام strcmp()مراجعة: دوال السلاسل النصية الأساسية