با سلام خدمت تمامی دوستان عزیز سایت پی وی لرن .و کاربرانی که دوره کامل آموزش زبان C را دنبال می کنند. در این مجموعه آموزشها قصد داریم آموزش برنامه نویسی به زبان C رو تقدیم حضورتون کنیم تاشما هم بتونید به راحتی برنامه بنویسید با ادامه این سری از آموزشهای زبان سی به انواع داده در C و انواع Floating-Point در c کامپایل و اجرای برنامه در C می پردازیم .
انواع داده در c به سیستم گسترده ای که برای اعلان انواع مختلف متغیرها یا توابع استفاده می شود برمی گردند.
نوع متغیر تعیین می کند که چقدر فضای حافظه را اشغال می کند و الگوی ذخیره سازی بیتی چگونه بیان می شود.
انواع داده در C می تواند به شرح زیر طبقه بندی شود
Sr.No. | انواع داده درC وشرح |
---|---|
۱ | انواع پایه-Basic Typesاز نوع ریاضی هستند و بیشتر به موارد زیر تقسیم می شوند: (الف) انواع صحیح و (ب) انواع ممیز شناور. (a) integer types and (b) floating-point types |
۲ | انواع شمارش شده-Enumerated types دوباره از نوع ریاضی هستند و آنها برای تعریف متغیرهایی استفاده می شوند که تنها می توانند مقادیر عددی گسسته خاصی را در طول برنامه اختصاص دهند. |
۳ | The type voidType specifier void نشان می دهد که هیچ مقدار در دسترس نیست. |
۴ | انواع مشتق شده-Derived types آنها عبارتند از: الف) نوع اشاره گر، (ب) انواع آرایه ها، (ج) انواع ساختارها، (د) انواع Union و (ه) انواع تابع. Pointer types, Array types, Structure types, Union types and Function types |
به طور کلی آرایه و ساختارها مجموعا به عنوان انواع ترتیبی معرفی می شوند.
نوع تابع مقدار بازگشت تابع را مشخص می کند.
ما انواع توابع اصلی را در بخش زیر مشاهده می کنیم و انواع دیگر در بخش های آینده مورد بررسی قرار می گیرند.
جدول زیر،جزئیات انواع استانداردInteger Types رابا اندازه و محدوده ذخیره سازی آنها نشان می دهد.
نوع | سایز | محدوده |
---|---|---|
char | ۱byte | ۱۲۸- تا ۱۲۷ یا۰ تا ۲۵۵ |
unsigned char | ۱ ۱byte | ۰ تا ۲۵۵ |
signed char | ۱ ۱byte | ۱۲۸- تا ۱۲۷ |
int | ۲ یا ۴ bytes | ۳۲,۷۶۸- تا ۳۲,۷۶۷ یا ۲,۱۴۷,۴۸۳,۶۴۸- تا۲,۱۴۷,۴۸۳,۶۴۷ |
unsigned int | ۲ یا ۴ bytes | ۰ تا ۶۵,۵۳۵ یا ۰ تا ۴,۲۹۴,۹۶۷,۲۹۵ |
short | ۲bytes | ۳۲,۷۶۸- تا ۳۲,۷۶۷ |
unsigned short | ۲bytes | ۰ تا ۶۵,۵۳۵ |
long | ۴bytes | ۲,۱۴۷,۴۸۳,۶۴۸- تا ۲,۱۴۷,۴۸۳,۶۴۷ |
unsigned long | ۴bytes | ۰ تا ۴,۲۹۴,۹۶۷,۲۹۵ |
برای اندازه دقیق یک نوع یا متغیر در یک پلت فرم خاص، می توانید اپراتور sizeof استفاده کنید.
عبارات sizeof (type) سایز ذخیره سازی یا نوع ذخیره سازی را به بایت بیان می کند.
در زیر یک مثال برای اندازه نوع int آمده است.
1 2 3 4 5 6 7 8 | #include <stdio.h> #include <limits.h> int main() { printf("Storage size for int : %d \n", sizeof(int)); return 0; } |
هنگامی که شما برنامه فوق را کامپایل و اجرا میکنید، نتیجه زیر را در لینوکس تولید می کند.
1 | Storage size for int : 4 |
نوع | سایزذخیره سازی | محدوده | دقت |
---|---|---|---|
float | ۴byte | ۱٫۲E-38 تا ۳٫۴E+38 | ۶ رقم اعشاری |
double | ۸byte | ۲٫۳E-308 تا ۱٫۷E+308 | ۱۵ رقم اعشاری |
long double | ۱۰byte | ۳٫۴E-4932 تا ۱٫۱E+4932 | ۱۹ رقم اعشاری |
1 2 3 4 5 6 7 8 9 10 11 | #include <stdio.h> #include <float.h> int main() { printf("Storage size for float : %d \n", sizeof(float)); printf("Minimum float positive value: %E\n", FLT_MIN ); printf("Maximum float positive value: %E\n", FLT_MAX ); printf("Precision value: %d\n", FLT_DIG ); return 0; } |
1 2 3 4 | Storage size for float : 4 Minimum float positive value: 1.175494E-38 Maximum float positive value: 3.402823E+38 Precision value: 6 |
Sr.No. | انواع داده void در C وشرح |
---|---|
۱ | تابع بازگشتی void توابع مختلفی در C وجود دارد که هیچ ارزشی را برنمی گرداند یا میتوانیم بگوئیم که آنها واگذار میشوند. یک تابع بدون مقدار بازگشتی از نوع void برای بازگشت نتیجه تابع استفاده میشود، اما نتیجه بازگشتی قابل دیدن نیست. برای مثال:void exit (int status) |
۲ | void به عنوان آرگومان توابع مختلف در C وجود دارد که هیچ پارامتری را قبول نمی کنند. تابع بدون پارامتر می تواند void را بپذیرد. مثلا: int rand(void) |
۳ | اشاره گرها از نوع void اشاره گر نوع void نشان دهنده آدرس یک شی است، اما نه نوع آن. به عنوان مثال،در یک تابع تخصیص حافظه void * malloc (size_t size)؛ اشاره گربهvoid بازگردانده می شود که می تواند به هر نوع داده منتقل شود. |
خوشحالیم ازاینکه در این مجموعه آموزشها همراه ما هستید.از کاربردها وانواع داده ها از جمله انواع Floating-Point در c و void Type و Integer آشنا و در جلسه بعد به بیان متغیرها می پردازیم.