کد تخفیف برای تمام محصولات کارگاه پلاس: R5VYP5US

نکته ۸: انواع زبان C

چرا در بعضی از محیط های برنامه نویسی C، می توان متغیر را هر جا که خواستیم تعریف کنیم و در برخی نمی شود؟

چندین نسخه از زبان C وجود دارد:

  • ANSI C یا C89
  • C99
  • C11

در نسخه ی اصلی زبان C، یعنی C89 یا همان ANSI C، شما باید متغیر ها را در بالاترین سطح بلاک تعریف کنید یعنی قبل از نوشتن هر کد دیگر. این استاندارد در تمامی کامپایلر ها قابل استفاده است. البته این ویژگی در C++ نیز از ابتدا وجود دارد.

C99 نسخه ی جدیدتری از زبان C بوده و توسط برخی از کامپایلرها نظیر Codevision پشتیبانی نمی شود. به صورت پیش فرض، بیشتر محیط های توسعه نظیر Keil، Visual Studio و…، ساختار C89 را انتخاب می کنند که می توان C99 را در تنظیمات کامپایلر پروژه ی مورد نظر تنظیم نمود.

کامپایلر GCC نیز از تمامی نسخه های C پشتیبانی می کند.

ویژگی های C99

  • توانایی تعریف توابع inline
  • توانایی تعریف متغیر در تمامی نقاط بلاک
  • پشتیبانی از نوع long long int
  • وجود نوع boolean
  • وجود اعداد complex (مختلط)
  • آرایه های با طول شناور (استفاده از متغیر برای تعریف طول آرایه)
  • پارامترهای جدید جهت optimization

به طور مثال اگر قصد نوشتن چنین کدی را داشته باشیم:

for (int i=0;i<10;i++)
{
//...
}

در استاندارد ANSI، خطا خواهیم داشت، چرا که تعریف متغیر در بالای بلاک نیست و در میان برنامه است اما در نسخه های C++ ، C99 و C11 می توان چنین کدی را نوشت.

پس از C99 به بعد استفاده کنیم؟

فراموش نکنید که استفاده از ANSI C باعث می شود که کد شما در تمامی کامپایلر ها بدون خطا کامپایل شود، این در حالی است که نسخه های جدید چنین گستره ی پشتیبانی در کامپایلرها ندارند، گرچه هر چه زمان جلوتر رود این گستردگی بیشتر می شود و هم اکنون تقریبا تمامی کامپایلرها، نسخه های جدید را تحت پوشش قرار می دهند.

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

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *