المساعد الشخصي الرقمي

عرض الإصدار الكامل : طريقة ارسال المتغيرات الى الدوال c++


ونة حزن
07-13-2006, 03:53 AM
بسم الله الرحمن الرحيم

سأشرح في هذا الدرس طرق تمرير ( إرسال ) المتغيرات إلي الدوال في السي++ ,,
,,,,,,,,,
,,,,,,,,



كما ذكرنا في الدرس السابق

فإنه عند الرغبة في إرسال المتغيرات إلى الدالة فإنه يجب ذكر نوع المتغير (int, float, char….) ولكن هناك أنواع عديدة لإرسال هذه المتغيرات, في الطريقة العادية يتم نسخ قيمة المتغير الأصلي إلى المتغير الجديد الذي أرسل إلى الدالة , فمثلاً:


int factorial ( int x );












Int main( )

{

Int n , f;

Cin>>f;

Factorial ( n );//هنا جملة الإستدعاء

Cout<<f;

Return 0;

}

int factorial ( int x )

{

//function code

Return f;

}








في هذا النوع تم نسخ قيمة العدد n إلى قيمة المتغير x

مع ملاحظة أن أي تغير يطرأ على x فإنه لا يؤثر على المتغير n لأنه نسخة منه والأصل يحتفظ به الى ان يتم

إنهاء البرنامج ويسمى هذا التمرير:

Call by value



االنوع الثاني من التمرير , ويتم فيه ارسال إسم آخر لهذا المتغير ويكون التعامل داخل الدالة مع القيمة الأصلية:

مثلاً:




int factorial ( int &x );



Int main()

{

Int n , f;

Cin>>f;

Factorial ( n );//هنا جملة الإستدعاء

Cout<<f;

Return 0;

}

int factorial ( int &x )

{

//function code

Return f;

}

ونة حزن
07-13-2006, 03:55 AM
كما ذكرت فإن المترجم يقوم بإرسال إسم آخر ولايقوم بنسخ القيمة

في هذه الحالة فإنه عند أي تعديل على المتغير المرسل فلابد ان تتغير قيمة المتغير الأصلي.

ويسمى هذا النوع من الإستدعاء:
Call by refrence

,,,
اتمنى أن اكون قد وفقت في سهولة الشرح
وتقبلو تحياتي

MSHAER
07-13-2006, 08:23 AM
الله يعطيك العافيه اختي ,

ونة حزن
07-13-2006, 02:48 PM
يعافيك خيو