السلام عليكم ورحمة الله وبركاته ...
ارجوكم ساعدوني في تحديد فرق ....بحت في عديد من مواضيع ولكن بدون جدوى
استادي دائم يوبخني بسبب عدم قدرتي على معرفة متى نكتب int او void :(
فى الحقيقة لا يوجد ما يسمى void main() فى لغة سى/سى++,
لغة سى تفترض دائما ان الmain و هى مدخل البرنامج ان يقوم دائما بارجاع قيمة ما integer, تعبر عن النجاح او حدوث خطأ.
رغم ذلك يمكنك كتابة void main() فى كثير من الcompilers, و عندها يقوم المترجم باضافة return 0; (و التى تعنى نجاح التنفيذ و هى القيمة الافتراضية).
بمعنى أخر ان void main() المفترض انها خطأ, لكن لأنها خطأ شائع, فان بعض المترجمات تتجاوز عنها و تحولها الى int main() و تضيف return 0; فى اخر البرنامج.
القيمة قبل الدالة عموماً تُعرف القيمة التي تعود بها الدالة ففي حالة int فالدالة تعود بقيمة صحيحة وفي حالة void فالدالة لا تعود بأي قيمة.
في حالة الدالة main وهي الدالة الأساسية في التطبيق فالقيمة المُعادة من هذه الدالة تعود لنظام التشغيل في حالة int والقيمة المعادة 0 يعني أن البرنامج تم تنفيذه بنجاح والقيم الأخرى لها دلائل أخرى، أما مع القيمة void فقط نكتب return بدون أي قيمة معادة للدلالة على إنتهاء تنفيذ البرنامج.
إقرا الكلام التالي بتمعن ، و بإذن الله ستجد ضالتك :
بخصوص الدالة main
إستخدمي void main دائما
وعند اسخدام return أكتبيها هكذا
return;
وعلى العموم في أي دالة أخرى إستخدمي void إذا كانت الدالة تقوم بمهمة دون إعادة شيء
يعني تقوم مثلا بتغيير محتوى جدول أو تطبع شيء على الشاشة ولا تحتاج لإعادة شيء من هذه الدالة
وإلا إستخدمي int أو float أو char أو غير ذلك على حسب ما تقوم هذه الدالة بإرجاعه
مثلا دالة تقوم بحساب مجموع أعداد أو البحث في جدول أو غير ذلك
التعليقات