بعبارات بسيطة ، بالنسبة للمبتدئين ، ما هو الفرق بين "الإعلان" و "التعريف" في C؟


الاجابه 1:

في سياق اللغة C ، يشير الإعلان إلى إخبار المترجم باسم ونوع وتوقيع الوظائف أو الطرق.

على سبيل المثال:

/ * إعلان functiom * /
 FooBar (قائمة وسيطة مع نوع البيانات) ؛

يمكننا أن نرى هنا أنه ينتهي بفاصلة منقوطة ، وهو رمز سطر واحد ، والذي يخبر فقط اسم المترجم ، وسيطة ، ونوع وظيفة العودة.

حيث أن التعريف يتعلق بتحديد المحتوى الفعلي (النص الأساسي) لتلك الوظيفة. والذي يتضمن جميع الرموز والمنطق وكل ما يصف وظيفة ما يفعل في الواقع.

على سبيل المثال:

/ * تعريف الوظيفة * /
 FooBar (قائمة وسيطة مع نوع البيانات)
{
  / * تعريف المتغير المحلي * /
  / *
   خطوط التعليمات البرمجية التي تحتوي على منطق البرنامج الفعلي
  * /
   إرجاع <شيء مع نوع البيانات المعرفة في السطر رقم 2> ؛
}

في C ، يجب أن يتم التصريح قبل استخدام هذه الوظيفة ، بحيث لا يلقي المترجم خطأ ، حيث يمكن أن يكون تعريف الوظيفة في أي مكان في النطاق الحالي للبرنامج.

شكرا لكم


الاجابه 2:

إعلان بإعلام المحول البرمجي مسبقاً نوع وحجم المتغير وحول المعلمات ونوع إرجاع الدالة.

لا يوجد تخصيص الذاكرة يحدث أثناء الإعلان.

على سبيل المثال: int j؛

التعريف: "يحدد" ما تقوم به هذه الوظيفة / المتغير ، وما هي القيمة التي ستتخذها. تخصيص الذاكرة الفعلية يحدث بعد التعريف.

على سبيل المثال: ي = 3 ؛


الاجابه 3:

التصريح هو أنه - هناك لتخبر المترجم أن يتوقع العثور على التعريف لاحقًا في الكود المصدري. عادةً ما يكون في ملف الرأس (ملحق .h أو .hpp) وسيكون المصدر (c ، أو cpp ملحق) التعريف عادة. الغرض من الإعلان هو السماح للمبرمج الذي يستخدم الوظيفة أو الفصل الذي تعلن أنه قادر على استخدام الوظيفة أو الفصل - فهم لا يحتاجون إلى التعريف لأن هذا هو الكود المصدري الذي يخبر المترجم كيف يفعل فعلًا ما يجب أن تفعله الوظيفة / الفئة ، لكن الإعلان يخبرهم بما تُرجعه الوظيفة ، والحجج التي تأخذها الوظيفة ، واسم الوظيفة حتى يتمكنوا من استدعاء الوظيفة لاحقًا من التعليمات البرمجية الخاصة بهم. إذا لم يكن الأمر واضحًا حتى الآن ، فسيحتوي التعريف على الكود المصدري لتعريف (ومن هنا جاءت الكلمة "تعريف") الوظيفة. مثال على كليهما هنا:

//إعلان
int doSomething (int x، int y)؛

//تعريف
int doSomething (int x، int y)
{
عودة (س * ص) ؛
}

الاجابه 4:

التصريح هو أنه - هناك لتخبر المترجم أن يتوقع العثور على التعريف لاحقًا في الكود المصدري. عادةً ما يكون في ملف الرأس (ملحق .h أو .hpp) وسيكون المصدر (c ، أو cpp ملحق) التعريف عادة. الغرض من الإعلان هو السماح للمبرمج الذي يستخدم الوظيفة أو الفصل الذي تعلن أنه قادر على استخدام الوظيفة أو الفصل - فهم لا يحتاجون إلى التعريف لأن هذا هو الكود المصدري الذي يخبر المترجم كيف يفعل فعلًا ما يجب أن تفعله الوظيفة / الفئة ، لكن الإعلان يخبرهم بما تُرجعه الوظيفة ، والحجج التي تأخذها الوظيفة ، واسم الوظيفة حتى يتمكنوا من استدعاء الوظيفة لاحقًا من التعليمات البرمجية الخاصة بهم. إذا لم يكن الأمر واضحًا حتى الآن ، فسيحتوي التعريف على الكود المصدري لتعريف (ومن هنا جاءت الكلمة "تعريف") الوظيفة. مثال على كليهما هنا:

//إعلان
int doSomething (int x، int y)؛

//تعريف
int doSomething (int x، int y)
{
عودة (س * ص) ؛
}

الاجابه 5:

التصريح هو أنه - هناك لتخبر المترجم أن يتوقع العثور على التعريف لاحقًا في الكود المصدري. عادةً ما يكون في ملف الرأس (ملحق .h أو .hpp) وسيكون المصدر (c ، أو cpp ملحق) التعريف عادة. الغرض من الإعلان هو السماح للمبرمج الذي يستخدم الوظيفة أو الفصل الذي تعلن أنه قادر على استخدام الوظيفة أو الفصل - فهم لا يحتاجون إلى التعريف لأن هذا هو الكود المصدري الذي يخبر المترجم كيف يفعل فعلًا ما يجب أن تفعله الوظيفة / الفئة ، لكن الإعلان يخبرهم بما تُرجعه الوظيفة ، والحجج التي تأخذها الوظيفة ، واسم الوظيفة حتى يتمكنوا من استدعاء الوظيفة لاحقًا من التعليمات البرمجية الخاصة بهم. إذا لم يكن الأمر واضحًا حتى الآن ، فسيحتوي التعريف على الكود المصدري لتعريف (ومن هنا جاءت الكلمة "تعريف") الوظيفة. مثال على كليهما هنا:

//إعلان
int doSomething (int x، int y)؛

//تعريف
int doSomething (int x، int y)
{
عودة (س * ص) ؛
}

الاجابه 6:

التصريح هو أنه - هناك لتخبر المترجم أن يتوقع العثور على التعريف لاحقًا في الكود المصدري. عادةً ما يكون في ملف الرأس (ملحق .h أو .hpp) وسيكون المصدر (c ، أو cpp ملحق) التعريف عادة. الغرض من الإعلان هو السماح للمبرمج الذي يستخدم الوظيفة أو الفصل الذي تعلن أنه قادر على استخدام الوظيفة أو الفصل - فهم لا يحتاجون إلى التعريف لأن هذا هو الكود المصدري الذي يخبر المترجم كيف يفعل فعلًا ما يجب أن تفعله الوظيفة / الفئة ، لكن الإعلان يخبرهم بما تُرجعه الوظيفة ، والحجج التي تأخذها الوظيفة ، واسم الوظيفة حتى يتمكنوا من استدعاء الوظيفة لاحقًا من التعليمات البرمجية الخاصة بهم. إذا لم يكن الأمر واضحًا حتى الآن ، فسيحتوي التعريف على الكود المصدري لتعريف (ومن هنا جاءت الكلمة "تعريف") الوظيفة. مثال على كليهما هنا:

//إعلان
int doSomething (int x، int y)؛

//تعريف
int doSomething (int x، int y)
{
عودة (س * ص) ؛
}

الاجابه 7:

التصريح هو أنه - هناك لتخبر المترجم أن يتوقع العثور على التعريف لاحقًا في الكود المصدري. عادةً ما يكون في ملف الرأس (ملحق .h أو .hpp) وسيكون المصدر (c ، أو cpp ملحق) التعريف عادة. الغرض من الإعلان هو السماح للمبرمج الذي يستخدم الوظيفة أو الفصل الذي تعلن أنه قادر على استخدام الوظيفة أو الفصل - فهم لا يحتاجون إلى التعريف لأن هذا هو الكود المصدري الذي يخبر المترجم كيف يفعل فعلًا ما يجب أن تفعله الوظيفة / الفئة ، لكن الإعلان يخبرهم بما تُرجعه الوظيفة ، والحجج التي تأخذها الوظيفة ، واسم الوظيفة حتى يتمكنوا من استدعاء الوظيفة لاحقًا من التعليمات البرمجية الخاصة بهم. إذا لم يكن الأمر واضحًا حتى الآن ، فسيحتوي التعريف على الكود المصدري لتعريف (ومن هنا جاءت الكلمة "تعريف") الوظيفة. مثال على كليهما هنا:

//إعلان
int doSomething (int x، int y)؛

//تعريف
int doSomething (int x، int y)
{
عودة (س * ص) ؛
}

الاجابه 8:

التصريح هو أنه - هناك لتخبر المترجم أن يتوقع العثور على التعريف لاحقًا في الكود المصدري. عادةً ما يكون في ملف الرأس (ملحق .h أو .hpp) وسيكون المصدر (c ، أو cpp ملحق) التعريف عادة. الغرض من الإعلان هو السماح للمبرمج الذي يستخدم الوظيفة أو الفصل الذي تعلن أنه قادر على استخدام الوظيفة أو الفصل - فهم لا يحتاجون إلى التعريف لأن هذا هو الكود المصدري الذي يخبر المترجم كيف يفعل فعلًا ما يجب أن تفعله الوظيفة / الفئة ، لكن الإعلان يخبرهم بما تُرجعه الوظيفة ، والحجج التي تأخذها الوظيفة ، واسم الوظيفة حتى يتمكنوا من استدعاء الوظيفة لاحقًا من التعليمات البرمجية الخاصة بهم. إذا لم يكن الأمر واضحًا حتى الآن ، فسيحتوي التعريف على الكود المصدري لتعريف (ومن هنا جاءت الكلمة "تعريف") الوظيفة. مثال على كليهما هنا:

//إعلان
int doSomething (int x، int y)؛

//تعريف
int doSomething (int x، int y)
{
عودة (س * ص) ؛
}

الاجابه 9:

التصريح هو أنه - هناك لتخبر المترجم أن يتوقع العثور على التعريف لاحقًا في الكود المصدري. عادةً ما يكون في ملف الرأس (ملحق .h أو .hpp) وسيكون المصدر (c ، أو cpp ملحق) التعريف عادة. الغرض من الإعلان هو السماح للمبرمج الذي يستخدم الوظيفة أو الفصل الذي تعلن أنه قادر على استخدام الوظيفة أو الفصل - فهم لا يحتاجون إلى التعريف لأن هذا هو الكود المصدري الذي يخبر المترجم كيف يفعل فعلًا ما يجب أن تفعله الوظيفة / الفئة ، لكن الإعلان يخبرهم بما تُرجعه الوظيفة ، والحجج التي تأخذها الوظيفة ، واسم الوظيفة حتى يتمكنوا من استدعاء الوظيفة لاحقًا من التعليمات البرمجية الخاصة بهم. إذا لم يكن الأمر واضحًا حتى الآن ، فسيحتوي التعريف على الكود المصدري لتعريف (ومن هنا جاءت الكلمة "تعريف") الوظيفة. مثال على كليهما هنا:

//إعلان
int doSomething (int x، int y)؛

//تعريف
int doSomething (int x، int y)
{
عودة (س * ص) ؛
}