ونة حزن
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;
}
سأشرح في هذا الدرس طرق تمرير ( إرسال ) المتغيرات إلي الدوال في السي++ ,,
,,,,,,,,,
,,,,,,,,
كما ذكرنا في الدرس السابق
فإنه عند الرغبة في إرسال المتغيرات إلى الدالة فإنه يجب ذكر نوع المتغير (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;
}