الفرق الرئيسي - الخروج مقابل المرجع في C
Cهي لغة برمجة حديثة طورتها Microsoft. يتم استخدامه لتطوير تطبيقات مختلفة لسطح المكتب والويب والجوال. الوظائف أو الطرق هي مفهوم في البرمجة. تُعرف مجموعة العبارات التي تُستخدم لأداء مهمة معينة بالوظيفة أو الطريقة. في برامج C، يبدأ التنفيذ من main (). إنه مثال على طريقة. عند استدعاء طريقة ، يتم تمرير البيانات إلى الطريقة أو استلامها من الطريقة. تُعرف الطريقة التي تستدعي الطريقة الجديدة باستدعاء الطريقة. تُعرف الطريقة الجديدة بالطريقة التي تم استدعاؤها. لإدارة القيم المارة واستعادة النتيجة ، تستخدم Cالمعلمات.وهي معلمات قيمة ومعلمات الإخراج والمعلمات المرجعية. تُستخدم معلمات القيمة لتمرير المعلمات إلى الطريقة حسب القيمة. تُستخدم المعلمات المرجعية لتمرير المعلمات إلى الطريقة عن طريق المرجع. تُستخدم معلمات الإخراج لتمرير النتيجة مرة أخرى من الطريقة. في C، يتم استخدام الكلمات الأساسية الخارجة لمعلمات الإخراج ويتم استخدام الكلمة الأساسية للمرجع للإشارة إلى المعلمات. يتمثل الاختلاف الرئيسي بين out و ref في Cفي أنه ، out هي كلمة أساسية تستخدم للإشارة إلى معلمة مخرجات تُستخدم لتمرير النتائج من الطريقة التي تم استدعاؤها إلى طريقة الاستدعاء بينما ref هي كلمة أساسية لإحالة معلمة مرجعية تُستخدم لتمرير البيانات من طريقة الاستدعاء إلى الطريقة التي تم استدعاؤها واستلام البيانات من الطريقة التي تم استدعاءها إلى طريقة الاستدعاء.
ما هو موجود في C ؟
صيغة الدالة أو الطريقة كما يلي. تحتوي الطريقة على عدد من العناصر مثل اسم الطريقة وقائمة المعلمات ونوع الإرجاع ومحدد الوصول.
(قائمة المعلمات)
{// جمل للتنفيذ
}
لكل طريقة طريقة فريدة لإجراء استدعاء الوظيفة. البيانات القابلة للتنفيذ داخل أقواس معقوفة. يشرح نوع الإرجاع ما إذا كانت الدالة ترجع قيمة أم لا. عندما لا يكون هناك نوع إرجاع ، يطلق عليه اسم باطل. يتم استخدام محدد الوصول لتحديد طريقة الوصول في التطبيق. تُستخدم المعلمات لتلقي البيانات أو تمريرها إلى الطريقة. يمكن أن تكون هناك أيضًا طرق بدون معلمات. يمكن أن تكون المعلمات معلمات ذات قيمة أو معلمات إخراج أو معلمات مرجعية.
تُستخدم معلمات الإخراج لإعادة النتائج إلى طريقة الاستدعاء. لذلك ، يجب الإعلان عن المعلمة مع إخراج الكلمة الأساسية. لا تقوم معلمة الإخراج بإنشاء موقع تخزين جديد. بشكل عام ، تقوم الطريقة بإرجاع قيمة واحدة.لكن في C، من الممكن إرجاع قيمتين من دالة باستخدام معلمات الإخراج. الرجوع إلى البرنامج أدناه.
تطبيق مساحة الاسم 1 {
حساب الطبقة العامة {
عرض الفراغ العام (خارج int a ، خارج int b) {
قيمة int=5 ؛
أ=القيمة ؛
ب=القيمة ؛
أ=أأ ؛
ب=بب ؛
}
public static void main (String args) {
int value1=10 ، value2=20 ؛
Calculation cal=new Calculation () ؛
cal.display (out value1، out value2)؛
Console. ReadLine () ؛
}
}
}
يتم استدعاء وظيفة العرض من الطريقة الرئيسية. القيمة 1 والقيمة 2 لها 10 و 20 ، لكن لم يتم أخذها في الطريقة. قيمة a هي 25 وقيمة b هي أيضًا 25 في الدالة.لذلك ، يتم إرجاع هذه القيم. عند طباعة value1 و value2 ، لن تعطي 10 و 20. وبدلاً من ذلك ، ستطبع 25 و 25. باستخدام الكلمة الرئيسية الخارجة ، يمكن إرجاع قيم متعددة من الطريقة.
ما هو المرجع في C ؟
عند تمرير المعلمات حسب القيمة ، يتم إنشاء موقع تخزين جديد لكل معلمة. لا تتغير المعلمات الفعلية التي تم إرسالها من البرنامج الرئيسي. بدلاً من ذلك ، يتم نسخ هذه القيم إلى موقع منفصل. تسمى تلك النسخ المتغيرة الجديدة المعلمات الرسمية. راجع الكود أدناه
تطبيق مساحة الاسم 1 {
حساب الطبقة العامة {
مبادلة عامة باطلة (int x، int y) {
int temp ؛
temp=x ؛
س=ص ؛
y=temp ؛
}
public static void main (String args) {
Calculation cal=new Calculation () ؛
int p=2 ؛
int q=3 ؛
cal.swap (p ، q) ؛
وحدة التحكم. WriteLine (ع) ؛
وحدة التحكم. WriteLine (ف) ؛
Console. ReadLine () ؛
}
}
}
وفقًا للبرنامج أعلاه ، تحتوي فئة الحساب على طريقة مبادلة (). في البرنامج الرئيسي ، يتم إنشاء كائن من نوع الحساب. هناك قيمتان مثل p و q. المتغير p له القيمة 2 ومتغير q له القيمة 3. يتم تمرير هاتين القيمتين إلى طريقة المبادلة. في طريقة المبادلة ، يتم نسخ القيمة 2 إلى المتغير x والقيمة 3 يتم نسخها إلى المتغير y. باستخدام متغير temp ، يتم تبديل القيم. مرة أخرى في البرنامج الرئيسي ، عند طباعة p و q ، لا يتم تبديل القيم. لا تزال قيمة p هي 2 وقيمة q هي 3. حتى في طريقة المبادلة ، يتم تبديل القيم ولكنها لا تنعكس في البرنامج الرئيسي.
على عكس تمرير القيم على النحو الوارد أعلاه ، من الممكن تمرير المعلمات عن طريق المرجع. المتغير المرجعي هو إشارة إلى موقع الذاكرة.لم يتم إنشاء موقع ذاكرة جديد. انعكست التغييرات في الطريقة في البرنامج الرئيسي. في C، تتم الإشارة إلى المعلمات المرجعية باستخدام الكلمة الأساسية ref. الرجوع إلى البرنامج أدناه.
تطبيق مساحة الاسم 1 {
حساب الطبقة العامة {
مبادلة عامة باطلة (ref int x، ref int y) {
int temp ؛
temp=x ؛
س=ص ؛
y=temp ؛
}
public static void main (String args) {
Calculation cal=new Calculation () ؛
int p=2 ؛
int q=3 ؛
cal.swap (المرجع p ، المرجع q) ؛
وحدة التحكم. WriteLine (ع) ؛
وحدة التحكم. WriteLine (ف) ؛
Console. ReadLine () ؛
}
}
}
وفقًا للبرنامج أعلاه ، فإن حساب الصنف لديه طريقة المبادلة.في البرنامج الرئيسي ، يتم إنشاء كائن من نوع الحساب. هناك متغيرين مثل p و q. المتغير p له القيمة 2 ومتغير q له القيمة 3. بدلاً من تمرير القيم ، يتم تمرير المرجع إلى مواقع الذاكرة p و q إلى الطريقة. تتم الإشارة إلى تلك المتغيرات المرجعية باستخدام المرجع. في طريقة المبادلة ، بدلاً من مواءمة القيم إلى موقع جديد ، يتم إجراء التغييرات على المعلمات الفعلية. عند طباعة قيمتي p و q للبرنامج الرئيسي ، ستعطي القيم المبادلة. الآن قيمة p هي 3 وقيمة q هي 2.
ما هو التشابه بين الخارج والمرجع في C ؟
كلاهما كلمات رئيسية تستخدم للإشارة إلى معلمات طريقة ما
ما هو الفرق بين out و ref في C ؟
خارج مقابل المرجع في C |
|
المخرج عبارة عن كلمة أساسية في Cتُستخدم للإشارة إلى معلمة الإخراج. يتم استخدامه لتمرير النتائج من طريقة تسمى لاستدعاء الطريقة. | المرجع هو كلمة أساسية في Cتُستخدم للإشارة إلى معلمة مرجعية. يتم استخدامه لتمرير البيانات من طريقة الاستدعاء إلى الطريقة التي تم استدعاؤها وإرجاع البيانات من الطريقة التي تم استدعاءها إلى طريقة الاستدعاء. |
الوظيفة | |
عند استخدام الكلمة الأساسية out ، يمكن تمرير البيانات من طريقة الاستدعاء إلى الطريقة التي تم استدعاؤها. ولكن يتم تجاهل تلك البيانات. يتم استخدامه لتمرير النتيجة إلى طريقة الاستدعاء من الطريقة التي تسمى. | عند استخدام الكلمة المفتاحية ref ، يتم تمرير البيانات من طريقة الاستدعاء إلى الطريقة التي تم استدعاؤها ويتم تمرير البيانات التي تم التلاعب بها مرة أخرى إلى طريقة الاستدعاء. |
تمرير البيانات | |
عند استخدام الكلمة الأساسية ، يتم تمرير البيانات بطريقة واحدة تسمى طريقة الاستدعاء. | عند استخدام الكلمة المفتاحية ref ، يتم تمرير البيانات بطريقتين ، من طريقة الاستدعاء إلى الطريقة التي تم استدعاءها ومن طريقة الاستدعاء إلى طريقة الاستدعاء. |
ملخص - out vs ref in C
عند استدعاء عملية ، قد يكون من الضروري تمرير القيم إلى الطريقة واستعادة النتائج من الطريقة. Cلها معايير مختلفة لتحقيق ذلك. تُستخدم معلمات القيمة لتمرير المعلمات إلى الطريقة حسب القيمة. تُستخدم المعلمات المرجعية لتمرير المعلمات إلى الطريقة عن طريق المرجع. تُستخدم معلمات الإخراج لتمرير النتيجة مرة أخرى من الطريقة. في C، يتم استخدام الكلمات الأساسية الخارجة لمعلمات الإخراج ويتم استخدام الكلمة الأساسية للمرجع للإشارة إلى المعلمات. الفرق بين out و ref في Cهو أن ، out هي كلمة أساسية تستخدم للإشارة إلى معلمة مخرجات تُستخدم لتمرير النتائج من طريقة الاستدعاء إلى طريقة الاستدعاء بينما ref هي كلمة أساسية لإحالة معلمة مرجعية تُستخدم لتمرير البيانات من طريقة الاستدعاء للطريقة التي تم استدعاؤها وتلقي البيانات من الطريقة التي تم استدعاؤها إلى طريقة الاستدعاء.
قم بتنزيل ملف PDF الخاص بالخارج مقابل المرجع في C
يمكنك تنزيل نسخة PDF من هذه المقالة واستخدامها لأغراض غير متصلة بالإنترنت وفقًا لملاحظة الاقتباس. يرجى تنزيل نسخة PDF من هنا: الفرق بين Out و Ref في C