20-01-2010, 03:02 PM
|
#483
|
تاريخ التسجيل: Jul 2008
كلية: كلية الحاسبات وتقنية المعلومات
التخصص: IT
نوع الدراسة: عضو هيئة تدريس
المستوى: متخرج
البلد: جــــدة
الجنس: ذكر
المشاركات: 2,477
|
رد: [cpcs 202 - برمجة 1] لديك سؤال , واجبات , شيء غير مفهوم ,,, تفضل هنا , موضوع مفيد
اخوووي احمد ان امكن لك :-
تشرح لي البوينتر .. وشكراً
تحياتي ,,,
|
أعطيك فكرة الـ Pointer .. وراح يسهل عليك الأمر بإذن الله :
أعتبر الـ Pointer ( المؤشر ) كساعي البريد .
والذاكرة ( RAM ) كـ حي بداخله بيوت كثيرة .
وأعتبر أنه عندما نعرف أي متغير كأننا بنينا بيت جديد باسم المتغير نوع البيت بنوع المتغير .
وأعتبر أنه عندما نعرف مؤشر ( Pointer ) كأننا أستدعينا ساعي البريد .
مثلاً :
عندما نبني بيتين نوعها integer وكل واحد له قيمة محددة :
كود:
int x = 10;
int z = 5;
وعندما نستدعي ساعي بريد أسمه ahmad ويتعامل مع البيوت ذات النوع integer :
بهذا استدعينا ساعي البريد ,, ولكن لم نحدد له البيت الذي سيتعامل معه ويخدمه .
والآن لنعطيه عنوان البيت الذي سيتعامل معه في البداية , مثلاً نعطه عنوان البيت x ليتعامل معه :
الآن أعطينا لساعي البريد ahmad عنوان البيت x الذي سيتعامل معه .
الآن ساعي البريد ahmad سيخدم البيت x وأي عملية نطلبها منه سيجريها على البيت x .
مثلاً , نريد من ساعي البريد أنه يوصل بريد إلى العنوان المحدد له سابقاً . وهذا البريد فيه رسالة تزيد قيمة رصيد صاحب البيت بـ 5 ريالات :
هذه العملية هي:
x = x + 5
والآن نريد أن يخبرنا البيت أكس برصيده الحالي :
سيخبرنا البيت x أن رصيده = 15
ممتاز ,, إذاً ساعي البريد قام بواجبه .
وإذ أرنا أن نعطي ساعي البريد ahmad عنوان بيت جديد ليتعامل معه , مثلاً نريد أن نعطيه عنوان البيت z ليتعامل معه :
وهكذا ...
الكود كاملاً لما سبق :
كود PHP:
#include<stdio.h> int main() { int x = 10; int z = 5; int *ahmad; ahmad = &x; *ahmad = *ahmad + 5; printf("%d \n",x); ahmad = &z; printf("%d \n",*ahmad); return 0; }
أقرأ شرائح الفصل السادس وستفهم إن شاء الله ..
بالتوفيق .
|
|
سبحان الله وبحمد ,,, سبحان الله العظيم الحمد لله كما ينبغي لجلال وجهه وعظيم سلطانه . اللهم صل على محمد وعلى آل محمد كما صليت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد . اللهم بارك على محمد وعلى آل محمد كما باركت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد.
|
|
|
|