القوانين العامة لمنتديات الخوارزمى ... مشاهدة الإدارة ونقص عدد المشرفين ... للتقدم بطلب للإشراف ... مسابقة ترشيح المشرف العام

خدمات مركز الخوارزمى

خريطة الموقع

معرض الصور

مركز تحميل الصور و الملفات

القرآن الكريـــم

تفسير القرآن الكريــم

المرجع الدينى الشامل

مكتبة البرامج

مكتبة الدروس


« آخـــر الــمــواضــيــع »
         :: اغرب واروع سجادات!! (آخر رد :domokh)       :: هل لديك ماوس "فأرة" عطلانه؟ (آخر رد :domokh)       :: اغرب اربع شمعات!!!!! (آخر رد :domokh)       :: احدث تشكيله لغرف السفره (آخر رد :حسناء)       :: كتاب الفصل في الملل والنحل (آخر رد :حسناء)       :: كتاب من أحكام الحيض في الصلاة والصيام (آخر رد :حسناء)       :: كتاب ثلاثون طريقة لخدمة الدين (آخر رد :حسناء)       :: كتاب بداية المجتهد ونهاية المقتصد (آخر رد :حسناء)       :: كتاب حراسة الفضيلة (آخر رد :حسناء)       :: كتاب مشكل إعراب القرآن الكريم (آخر رد :حسناء)       :: كتاب الوصايا العشر للعاملين في حقل الدعوة إلى الله (آخر رد :حسناء)       :: كتاب القواعد الذهبية في أدب الخلاف (آخر رد :حسناء)       :: كتاب رياض الصالحين (آخر رد :حسناء)       :: كتاب الدروس المهمه لعامة الامة (آخر رد :حسناء)       :: طائرة يضربها البرق (آخر رد :حسناء)       :: نظارات كشخه (آخر رد :domokh)       :: وجبات اطفال المدارس باليابان (آخر رد :domokh)       :: البرغل (آخر رد :حسناء)       :: فوائد القرفه والعسل (آخر رد :حسناء)       :: ساندوتش التاكو تاكل صوابعك وراه (آخر رد :حسناء)      



العودة   :: مركز الخوارزمى للترجمة وخدمات الإنترنت العودة ركن الكمبيوتر و الإنترنت العودة قسم البرمجة وقواعد البيانات
قسم البرمجة وقواعد البيانات ASP.net SQL, ADO.net, C#, PHP , CGI , MySQL , JavaScript , Html , Delphi , Ajax ...




 
   
أدوات الموضوع انواع عرض الموضوع
قديم 19-02-2006, 01:51 PM رقم المشاركة : 1
معلومات العضو
عضو

الصورة الرمزية mito_alex

Cool المختصر فى لغه البرمجه باستخدام لغه ال(c)الجزء(4)

بسم الله الرحمن الرحيم

الجلسة الرابعة: وهي عن الـ Pointer (المؤشرات)

كما تذكر ... تكلمنا في الجلسة السابقة عن كيفية توضع المتغيرات (Variables) في ذاكرة الكمبيوتر .. وقلنا أنها تمثل أسماء مستعارة لعنوان الذاكرة...

حسناً قبل أن ندخل في المؤشرات ... ما رأيك بأن نشاهد الكود بالأسفل:


شفرة:
Int MarkA
Int MarkB

MarkB = 5
MarkA = MarkB



السؤال ما هي قيمة MarkA ؟؟
نعم ... إجابتك صحيحة هي 5


ولأكن دعنا نرى تمثيل الكود في الـ RAM
النصف الأول من الكود وهو



شفرة:
Int MarkA
Int MarkB

MarkB = 5


سيكون تمثيله كالتالي:-






والنصف الآخر من الكود وهو

شفرة:
MarkA = MarkB


سيكون تمثيله كالتالي:-



أتمنى أن تكون الأمور واضحة إلى هنا ...

المهم ...


عند هذه النقطة راود المبرمجين هذا السؤال ... هل من الممكن أن أشير إلى عنوان الذاكرة الذي أريده بدون نقل المحتويات كاملة.

دعني أعطيك التمثيل البياني للكلام بالأعلا



أعتقد الآن بدأت تفهمني :)

الآن إذا قلت لك:
ماذا تساوي MarkA ؟؟؟
نعم هي أيضاً 5 ... لأنها أخذت العنوان وليس القيمة للمتغير MarkB

وهذا ما أطلق علية المبرمجون إسم الـ Pointer (المؤشرات)

نبدأ على بركة الله ..


الـ Pointer هو متغير يشير إلى عنوان في الذاكرة.

فوائدة ...

يتيح التحكم الكامل للـ RAM
يستخدم عند الرغبة في التعامل مع الملفات
يستخدم يشكل فعال مع الـ Array و الـ Stract و الـ Variables
يستخدم مع الـ Function وبالذات عند الرغبة بالتأشير على معطيات هي بخارج نطاق الـ Function
يستخدم للتحكم في الـ Hardware
يستخدمة الـ Operating System من اجل معالجة معطياتة.
وأخيراً يعتبر المقياس لقوة لغة عن لغة ...


الآن ما رأيك أن نحول مثالنا التالي إلى صيغة برمجية

[IMG]http://www.geocities.com/abu_raaad/pointer3.JPG[/IMG


شفرة:
Int *MarkA
Int MarkB

MarkB = 5

MarkA = &MarkB


من الكود بالأعلا نستخلص التالي:
Int *MarkA : يجب إلحاق المتغير بي الرمز * ليعلم المترجم (Compiler) بأنه من نوع Pointer, ويجب أن يكون بنفس الـ Datatype للمتغير الذي يشير إليه وهو الـ Int MarkB

MarkA = &MarkB : تعمل على إسناد عنوان الذاكرة الـ MarkB إلى المتغير (Pointer) الـ MarkA


في النهاية نريد أن نضيف أنه من الممكن أن يكون هناك مؤشر إلى مؤشر ...
أي متغير يشير إلى عنوان .. وهذا العنوان يشير إلى عنوان آخر ... وهو بنفس نظرية العمل ..

ما نرموا إليه في هذه الجلسات هو فهم آلية العمل … وأرجوا أن نكون حققنا ولو القليل من هدفنا …







التوقيع

إسم الشركة : شبكــــــة المهندس العربى
صاحب الشركة : م/أحمد السيد
خدمات الشركة : | تصميم | حماية | تطوير | إستضافة | حجز نطاقات | دعم فنى | سد ثغرات | دروس و دورات | برامج|منتديات هندسية| كتب | هاكات | اسكريبتات | شروحات برامج |استايلات و قوالب للمواقع |مجلات المواقع|
مقر الشركة : |جمهورية مصر العربية|الاسكندريـــــة|
هاتف الشركة : 0020129851556
بريد الشركة : admin@3rab-eng.com
رابط الشركة :www.3rab-eng.com

رد مع اقتباس
 


مواقع النشر

الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 
المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
المختصر فى لغه البرمجه باستخدام لغه ال(c)الجزء(1) mito_alex قسم البرمجة وقواعد البيانات 2 19-07-2006 02:05 PM
المختصر فى لغه البرمجه باستخدام لغه ال(c)الجزء(2) mito_alex قسم البرمجة وقواعد البيانات 2 19-07-2006 02:04 PM
المختصر فى لغه البرمجه باستخدام لغه ال(c)الجزء(3) mito_alex قسم البرمجة وقواعد البيانات 2 19-07-2006 02:03 PM
المختصر فى لغه البرمجه باستخدام لغه ال(c)الجزء(5) mito_alex قسم البرمجة وقواعد البيانات 3 19-07-2006 02:02 PM
فهرس دروس المختصر فى لغه البرمجه باستخدام ال (c) mito_alex قسم البرمجة وقواعد البيانات 2 19-07-2006 01:59 PM

أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

كود [IMG] متاحة
كود HTML معطلة