اولین بار است که به این وب‌سایت می‌آیید. راهنما را مطالعه کنید!
x
موسسه خیریه محک

شهر ریاضی بازی-ریاضی

تفاوت تعریف و اعلان متغیر در C++ چیست؟

+2 امتیاز
1,938 نمایش

کسی میدونه تفاوت تعریف و اعلان در مورد متغیر ها چیه؟

پرسیده شده چهارشنبه ۱۴ فروردین ۱۳۹۲ در C++ توسط CPP_Crawler4  
ویرایش شده شنبه ۲۵ آبان ۱۳۹۲ توسط admin

2 پاسخ

+1 امتیاز

خب اعلان به عنوان معرفی شناسه و توصیف برای یک نوع متغیر، شیء و یا تابع هست. اعلان چیزیه که کامپایلر به اون احتیاج داره تا هرگونه ارجاع به اون شناسه رو قبول کنه. انواع اعلان:

extern int bar;
extern int g(int, int);
double f(int, double); // extern can be omitted for function declarations
class foo; // no extern allowed for class declarations

و تعریف در حقیقت پیاده‌سازی این شناسه‌ست. دستورات زیر تعاریف اعلان‌های بالاست:

int bar;
int g(int lhs, int rhs) {return lhs*rhs;}
double f(int i, double d) {return i+d;}
class foo {};

تعریف میتونه به جای اعلان هم استفاده بشه.
و یک شناسه میتونه هر وقت که بخواین اعلان بشه.

پاسخ داده شده شنبه ۱۷ فروردین ۱۳۹۲ توسط CPP_Crawler5  

این خیلی پایه‌ای تر و در زبان C نوشته شده ممنون. توی C++ یه کم با این متفاوته!

0 امتیاز

قبلاً پرسیده شده تفاوت اعلان و تعریف

هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پاسخ داده شده چهارشنبه ۱۴ فروردین ۱۳۹۲ توسط prodo  

دقیقا قید کردم در مورد متغیر ها! (تو این جواب که میگین در مورد متغیر ها چیزی گفته نشده و بیشتر به توابع و کلاس ها مربوطه.) ممنون میشم در اون مورد هم بگین.

اعلان فقط اعلام این نکته به کامپایلر هست که یه متغیر یا شیء یا تابع در برنامه وجود داره
این که از چیزی گفتن در مورد متغیر! در این عبارت دقیقاً لفظ متغیر قید شده. در مورد متغیرها هم مثل همون اشیا هست.