به زبان ساده ، تفاوت بین "اعلامیه" و "تعریف" در C برای newbies چیست؟


پاسخ 1:

در متن زبان C ، اعلامیه به ارتباط نام ، نوع و امضای توابع یا روشها به کامپایلر اطلاق می شود.

به عنوان مثال:

/ * توضیحات عملکردی * / FooBar (لیست بحث با نوع داده)؛

ما در اینجا می توانیم ببینیم که با یک جمع رنگ به پایان می رسد و یک کد تک خطی است که فقط نام کامپایلر ، آرگومان و نوع برگشتی یک عملکرد را مشخص می کند.

تعریف در مورد تعریف محتوای واقعی (قسمت اصلی) این تابع است. که شامل کلیه کد ها و منطق ها و همه آنچه توصیف می کند عملکرد در واقع چیست.

به عنوان مثال:

/ * تعریف عملکرد * / FooBar (لیست بحث با نوع داده) {/ * اعلام متغیر محلی * / / * خط کد که حاوی منطق برنامه واقعی است * / Return ؛ }

در C باید اظهارنامه قبل از استفاده از این عملکرد ساخته شود تا در صورت تعریف تعریف در منطقه فعلی برنامه ، کامپایلر خطایی ایجاد نکند.

خیلی ممنون


پاسخ 2:

یک بیانیه از قبل ، کامپایلر را در مورد نوع ، اندازه متغیرها و پارامترها ، نوع بازده عملکرد اطلاع می دهد.

در طول اظهارنامه هیچ تخصیص حافظه ای صورت نمی گیرد.

مثال: int j؛

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

مثال: j = 3؛


پاسخ 3:

اظهارنامه فقط همین است - از آن برای گفتن کامپایلر استفاده می شود تا تعریف را بعداً در کد منبع پیدا کند. این معمولاً در یک فایل هدر قرار دارد (پسوند. ساعت یا. hpp) و منبع (پسوند c یا cpp) معمولاً این تعریف را دارد. هدف این اظهارنامه این است که به برنامه نویسی اجازه دهید که از عملکرد یا کلاسی که شما اعلام می کنید استفاده کند از تابع یا کلاس استفاده کند. به تعریف نیاز ندارد ، زیرا این کد منبع است که به کامپایلر می گوید که چگونه واقعاً چه کاری را انجام دهد. تابع / کلاس باید این کار را انجام دهد ، اما بیانیه مشخص می کند که چه تابع باز می گردد ، چه عملکردی را می گیرد و چه تابع بدین معنی است که می تواند بعداً از کد خود این عملکرد را صدا کند. اگر تاکنون مشخص نبود ، این تعریف شامل کد منبع برای تعریف عملکرد است (از این رو کلمه "تعریف"). نمونه ای از هردو در اینجا آمده است:

// توضیح int doSomething (int x، int y)؛ // تعریف int doSomething (int x، int y) {Return (x * y)؛ }

پاسخ 4:

اظهارنامه فقط همین است - از آن برای گفتن کامپایلر استفاده می شود تا تعریف را بعداً در کد منبع پیدا کند. این معمولاً در یک فایل هدر قرار دارد (پسوند. ساعت یا. hpp) و منبع (پسوند c یا cpp) معمولاً این تعریف را دارد. هدف این اظهارنامه این است که به برنامه نویسی اجازه دهید که از عملکرد یا کلاسی که شما اعلام می کنید استفاده کند از تابع یا کلاس استفاده کند. به تعریف نیاز ندارد ، زیرا این کد منبع است که به کامپایلر می گوید که چگونه واقعاً چه کاری را انجام دهد. تابع / کلاس باید این کار را انجام دهد ، اما بیانیه مشخص می کند که چه تابع باز می گردد ، چه عملکردی را می گیرد و چه تابع بدین معنی است که می تواند بعداً از کد خود این عملکرد را صدا کند. اگر تاکنون مشخص نبود ، این تعریف شامل کد منبع برای تعریف عملکرد است (از این رو کلمه "تعریف"). نمونه ای از هردو در اینجا آمده است:

// توضیح int doSomething (int x، int y)؛ // تعریف int doSomething (int x، int y) {Return (x * y)؛ }

پاسخ 5:

اظهارنامه فقط همین است - از آن برای گفتن کامپایلر استفاده می شود تا تعریف را بعداً در کد منبع پیدا کند. این معمولاً در یک فایل هدر قرار دارد (پسوند. ساعت یا. hpp) و منبع (پسوند c یا cpp) معمولاً این تعریف را دارد. هدف این اظهارنامه این است که به برنامه نویسی اجازه دهید که از عملکرد یا کلاسی که شما اعلام می کنید استفاده کند از تابع یا کلاس استفاده کند. به تعریف نیاز ندارد ، زیرا این کد منبع است که به کامپایلر می گوید که چگونه واقعاً چه کاری را انجام دهد. تابع / کلاس باید این کار را انجام دهد ، اما بیانیه مشخص می کند که چه تابع باز می گردد ، چه عملکردی را می گیرد و چه تابع بدین معنی است که می تواند بعداً از کد خود این عملکرد را صدا کند. اگر تاکنون مشخص نبود ، این تعریف شامل کد منبع برای تعریف عملکرد است (از این رو کلمه "تعریف"). نمونه ای از هردو در اینجا آمده است:

// توضیح int doSomething (int x، int y)؛ // تعریف int doSomething (int x، int y) {Return (x * y)؛ }

پاسخ 6:

اظهارنامه فقط همین است - از آن برای گفتن کامپایلر استفاده می شود تا تعریف را بعداً در کد منبع پیدا کند. این معمولاً در یک فایل هدر قرار دارد (پسوند. ساعت یا. hpp) و منبع (پسوند c یا cpp) معمولاً این تعریف را دارد. هدف این اظهارنامه این است که به برنامه نویسی اجازه دهید که از عملکرد یا کلاسی که شما اعلام می کنید استفاده کند از تابع یا کلاس استفاده کند. به تعریف نیاز ندارد ، زیرا این کد منبع است که به کامپایلر می گوید که چگونه واقعاً چه کاری را انجام دهد. تابع / کلاس باید این کار را انجام دهد ، اما بیانیه مشخص می کند که چه تابع باز می گردد ، چه عملکردی را می گیرد و چه تابع بدین معنی است که می تواند بعداً از کد خود این عملکرد را صدا کند. اگر تاکنون مشخص نبود ، این تعریف شامل کد منبع برای تعریف عملکرد است (از این رو کلمه "تعریف"). نمونه ای از هردو در اینجا آمده است:

// توضیح int doSomething (int x، int y)؛ // تعریف int doSomething (int x، int y) {Return (x * y)؛ }

پاسخ 7:

اظهارنامه فقط همین است - از آن برای گفتن کامپایلر استفاده می شود تا تعریف را بعداً در کد منبع پیدا کند. این معمولاً در یک فایل هدر قرار دارد (پسوند. ساعت یا. hpp) و منبع (پسوند c یا cpp) معمولاً این تعریف را دارد. هدف این اظهارنامه این است که به برنامه نویسی اجازه دهید که از عملکرد یا کلاسی که شما اعلام می کنید استفاده کند از تابع یا کلاس استفاده کند. به تعریف نیاز ندارد ، زیرا این کد منبع است که به کامپایلر می گوید که چگونه واقعاً چه کاری را انجام دهد. تابع / کلاس باید این کار را انجام دهد ، اما بیانیه مشخص می کند که چه تابع باز می گردد ، چه عملکردی را می گیرد و چه تابع بدین معنی است که می تواند بعداً از کد خود این عملکرد را صدا کند. اگر تاکنون مشخص نبود ، این تعریف شامل کد منبع برای تعریف عملکرد است (از این رو کلمه "تعریف"). نمونه ای از هردو در اینجا آمده است:

// توضیح int doSomething (int x، int y)؛ // تعریف int doSomething (int x، int y) {Return (x * y)؛ }

پاسخ 8:

اظهارنامه فقط همین است - از آن برای گفتن کامپایلر استفاده می شود تا تعریف را بعداً در کد منبع پیدا کند. این معمولاً در یک فایل هدر قرار دارد (پسوند. ساعت یا. hpp) و منبع (پسوند c یا cpp) معمولاً این تعریف را دارد. هدف این اظهارنامه این است که به برنامه نویسی اجازه دهید که از عملکرد یا کلاسی که شما اعلام می کنید استفاده کند از تابع یا کلاس استفاده کند. به تعریف نیاز ندارد ، زیرا این کد منبع است که به کامپایلر می گوید که چگونه واقعاً چه کاری را انجام دهد. تابع / کلاس باید این کار را انجام دهد ، اما بیانیه مشخص می کند که چه تابع باز می گردد ، چه عملکردی را می گیرد و چه تابع بدین معنی است که می تواند بعداً از کد خود این عملکرد را صدا کند. اگر تاکنون مشخص نبود ، این تعریف شامل کد منبع برای تعریف عملکرد است (از این رو کلمه "تعریف"). نمونه ای از هردو در اینجا آمده است:

// توضیح int doSomething (int x، int y)؛ // تعریف int doSomething (int x، int y) {Return (x * y)؛ }

پاسخ 9:

اظهارنامه فقط همین است - از آن برای گفتن کامپایلر استفاده می شود تا تعریف را بعداً در کد منبع پیدا کند. این معمولاً در یک فایل هدر قرار دارد (پسوند. ساعت یا. hpp) و منبع (پسوند c یا cpp) معمولاً این تعریف را دارد. هدف این اظهارنامه این است که به برنامه نویسی اجازه دهید که از عملکرد یا کلاسی که شما اعلام می کنید استفاده کند از تابع یا کلاس استفاده کند. به تعریف نیاز ندارد ، زیرا این کد منبع است که به کامپایلر می گوید که چگونه واقعاً چه کاری را انجام دهد. تابع / کلاس باید این کار را انجام دهد ، اما بیانیه مشخص می کند که چه تابع باز می گردد ، چه عملکردی را می گیرد و چه تابع بدین معنی است که می تواند بعداً از کد خود این عملکرد را صدا کند. اگر تاکنون مشخص نبود ، این تعریف شامل کد منبع برای تعریف عملکرد است (از این رو کلمه "تعریف"). نمونه ای از هردو در اینجا آمده است:

// توضیح int doSomething (int x، int y)؛ // تعریف int doSomething (int x، int y) {Return (x * y)؛ }