الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال هل هناك دوال متداخلة ؟

مغلق
بدأه abram في 15 مايو 2004 · 3 رد · 427 مشاهدة · في ارشيف قسم C/C++
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

هناك متغيرات عامة

وهناك متغيرات محلية

المتغيرات المحلية

يمكن الوصول اليها من داخل الدالة المتواجدة ضمن مجالها هذه

المتغيرات

وتنتهي بمجرد الخروج من مجال الدالة المتواجدة في مجالها

هل هناك دوال متداخلة

اي دالة تكون عامة والأخرى تكون محلية

مثل

void print(){
printf("this is print line");
}
هل هناك دوال مثل 
void cout(){
void print(){
print("this is a line ");
}
}

علما بان الدوال المحلية يمكن الوصول اليها بطريق غير مباشر

عن طريق استدعائها من الدالة العامة والتي توجد ضمن نطاقها الدالة المحلية

تم تعديل هذه المشاركة بواسطة HGB في 16 مايو 2004 في 01:40

#2

أين الردود يا اخوان

#3

سأجيب غدا ,,

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#4

لا تدعم لغة ++C الدوال المتداخلة nested functions . ويمكن الاستعاضة عنها بالscopes مثلا:

void doIt(){
    int x;
   .....
   {
      char x; 
     // int x is hidden here, now x is char
    }
    // now x is integer.
}

نفس الحال ينطبق على الfor loops, while and do while loops فالمتغير المعلن بداخلها تنتهي دورة حياته و مداه بانتهاء الدورة الحالية وبدء دورة جديدة.

فكر بطريقة أخرى

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…