آموزش C

مباحث پایه زبان C

تبدیل نوع در زبان C – آموزش زبان C

  • چهارشنبه ۲ آبان ۱۳۹۷
  • بازدید ۶,۹۶۷ نفر

تصویر c-type-casting_4163 تبدیل نوع در زبان C - آموزش زبان C

تبدیل نوع در زبان C

تبدیل نوع (type casting) یک راه برای تغییر نوع داده یک متغیر به نوع داده دیگر است. به عنوان نمونه، شما می توانید یک مقداری که از نوع long است را به نوع int و بلعکس تبدیل کنید. در زیر شکلی کلی تبدیل نوع در زبان برنامه نویسی C را مشاهده می کنید:

در مثال زیر نتیجه تقسیم دو متغیر که از نوع int هستند، به نوع double تبدیل می شود:

امتحان کنید

زمانی که کد بالا توسط کامپایلر زبان C و اجرا شود، نتیجه زیر را تولید خواهد کرد:

در مثال فوق عملکرد عملگر cast بیش از تبدیل نتیجه تقسیم است. این عملگر ابتدا نوع داده متغیر sum را از int به double تغییر می دهد و سپس بر روی count تقسیم می شود. تبدیل نوع می تواند به صورت ضمنی باشد که توسط کامپایلر به صورت خودکار انجام می شود یا می توان آن را به طور صریح از طریق استفاده از اپراتور منتخب مشخص کرد. این تمرین خوب برنامه نویسی در نظر گرفته شده برای استفاده از اپراتور بازیگران هر زمان که نوع تبدیل لازم است.

انواع تبدیل نوع در زبان C

تبدیل نوع داده در برنامه نویسی C می تواند به دو صورت ضمنی و صریح انجام شود.

تبدیل نوع داده به صورت ضمنی (implicit)

کامپایل به صورت خودکار عمل تبدیل نوع را انجام می دهد. برای نمونه نیازی نیست که برای قرار دادن مقدار int در long از عملگر تبدیل نوع استفاده کنیم.

تبدیل نوع داده به صورت صریع (explicitly)

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

Integer Promotion

 برخی از انواع داده مانند char، short که تعداد بایت کمتری از int می گیرند، هنگامی که بر روی آن ها عملیات انجام می شود به صورت خود کار به نوع داده int و یا unsigned int تبدیل می شود. مثال زیر این موضوع را نشان می دهد:

امتحان کنید

زمانی که کد بالا کامپایل و اجرا شود، نتیجه زیر را تولید خواهد کرد:

نتیجه جمع دو متغیر 116 شده است به این دلیل که کامپایلر قبل از انجام عمل جمع متغیر c را که از نوع char می باشد را به نوع int تبدیل می کند.

تبدیلات ریاضی رایج

تبدیلات ریاضی رایج برای عملگر های محاسباتی و عمگرهای منطقی && و || انجام نمی شود. برای درک بهتر به مثال زیر توجه کنید:

امتحان کنید

زمانی که کد بالا کامپایل و اجرا شود، نتیجه زیر را تولید خواهد کرد:

در مثال فوق متغیر c به int تبدیل می شود، اما چون مقدار نهایی باید از نوع float باشد، تبدیلات ریاضی رایج انجام می شود و متغیرهای i و c به float تبدیل می شوند.

 

باکس دانلود
ثبت نظر
ریفریش کنید!
نظرات کاربران (۰ مورد)

هیچ نظری ثبت نشده است