دليل أساسي للمؤشرات في برمجة C

دليل أساسي للمؤشرات في برمجة C
القراء مثلك يساعدون في دعم MUO. عند إجراء عملية شراء باستخدام الروابط الموجودة على موقعنا، قد نكسب عمولة تابعة. اقرأ أكثر.

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





لماذا زر منزلي لا يعمل
فيديو MUO لهذا اليوم قم بالتمرير للمتابعة مع المحتوى

استكشف تفاصيل مؤشرات C، بدءًا من فهم الذاكرة والعناوين وحتى إتقان حساب المؤشر.





الذاكرة والعناوين

  لقطة مقربة لجزء داخلي من الكمبيوتر.

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





يحتوي كل موقع ذاكرة على عنوان فريد ويمكنه تخزين كمية مختلفة من البيانات اعتمادًا على جهاز الكمبيوتر. عندما تعلن عن متغير في لغة C، فإنك تقوم ضمنيًا بتعيين موقع ذاكرة له لتخزين بياناته. فكر في الأمر وكأنه منزل له عنوان فريد يمكنك استخدامه لتحديد موقعه.

تخيل أن ذاكرة جهاز الكمبيوتر الخاص بك عبارة عن سلسلة من خلايا التخزين، تحتوي كل منها على بايت من البيانات. لنفترض أن هناك متغيرين، س و و ، في برنامج C:



 int x = 5; 
int y = 10;

في الذاكرة، قد يبدو الأمر كما يلي:

1000





5

1004





10

هنا، تقوم مواقع الذاكرة المنفصلة بتخزين هذه المتغيرات. البيانات التي س يمثل موجودًا في عنوان الذاكرة 1000، بينما و تحتل بيانات عنوان الذاكرة 1004.

يعد فهم الذاكرة والعناوين أمرًا بالغ الأهمية عند التعامل مع المؤشرات لأنها متغيرات تخزن عناوين الذاكرة. إنها تتيح لك الوصول إلى البيانات المخزنة في موقع ذاكرة محدد ومعالجتها.

الإعلان عن المؤشرات وتهيئتها في C

قبل أن تتمكن من تعديل البيانات باستخدام المؤشرات في لغة C، عليك الإعلان عنها وتهيئتها.

تصريح

للإعلان عن مؤشر، عليك تحديد نوع البيانات الذي يشير إليه، متبوعًا بعلامة النجمة (*)، ثم اسم المؤشر. على سبيل المثال:

خطأ تطبيق werfault exe windows 10
 int *ptr;

هنا، كثافة العمليات * بتر يعلن مؤشر اسمه بتر يمكنه تخزين عنوان الذاكرة لعدد صحيح.

التهيئة

بعد الإعلان، يجب عليك تهيئته بعنوان الذاكرة الذي سيشير إليه. يمكنك تهيئته على النحو التالي:

 int x = 5; 
int *ptr = &x;

وفي هذا الإعلان، & يقوم المشغل بجلب عنوان المتغير x. يقول الكود بشكل أساسي 'ptr هو متغير، فهو يخزن موقع الذاكرة لقيمة عددية، وهذا الموقع هو المكان الذي يشير إليه x حاليًا.'

الآن، بتر يحمل عنوان المتغير الصحيح س . على سبيل المثال:

س

1000

5

بتر

----

كيفية تنزيل الفرش على الإنجاب

1000