توابع کتابخانه ای استاندارد در برنامه نویسی C
در این آموزش با توابع کتابخانه ای استاندارد در زبان C و نحوه استفاده از آنها آشنا خواهید شد. توابع کتابخانه ای استاندارد یا به عبارت ساده تر توابع کتابخانه ای در زبان C همان توابع داخلی هستند.
نمونه اولیه و تعریف این توابع در فایل های هدر مرتبط با آنها قرار دارد. برای استفاده از این توابع باید فایل هدر یا سرآیند آنها را در برنامه وارد کنید. به طور مثال اگر بخواهید از تابع ()printf استفاده کنید باید فایل هدر <stdio.h> وجود داشته باشد.
#include <stdio.h>
int main()
{
printf(“Catch me if you can.”);
}
اگر از تابع ()printf بدون فایل هدر stdio.h استفاده کنید با خطا مواجه خواهید شد.
مزایای استفاده از توابع کتابخانه ای C
۱- کارایی: یکی از مهمترین دلایل استفاده از توابع کتابخانه ای قطعا کارایی آنها است. این توابع تست های دقیقی را پشت سر گذاشته اند و استفاده از آنها آسان است.
۲- بهینه بودن: چون این توابع “کتابخانه ای استاندارد” هستند، به طور دائم یک گروه اختصاصی از توسعه دهندگان آنها را بهبود می دهند. در این فرآیند آنها به دنبال نوشتن کدهای بهینه کارآمد برای به دست آوردن حداکثر کارایی هستند.
۳- صرفه جویی در زمان: بسیاری از توابع رایج مانند چاپ روی صفحه، محاسبه ریشه عدد و ….از قبل نوشته شده اند و نیازی به نوشتن و ایجاد آنها نیست.
۴- قابل حمل: با توجه به تغییرات مداوم در دنیای واقعی انتظار می رود برنامه در همه جا کار کند. این توابع کتابخانه ای کمک می کنند تا روی هر سیستمی همان کار را انجام دهند.
مثال: محاسبه ریشه مربع با استفاده از تابع ()sqrt
برای محاسبه ریشه مربع یک عدد می توانید از تابع کتابخانه ای ()sqrt استفاده کنید. این تابع در فایل هدر math.h تعریف شده است.
#include <stdio.h>
#include <math.h>
int main()
{
float num, root;
printf(“Enter a number: “);
scanf(“%f”, &num);
// ریشه مربع عدد را محاسبه می کند
root = sqrt(num);
printf(“Square root of %.2f = %.2f”, num, root);
return 0;
}
خروجی
Enter a number: 12
Square root of 12.00 = 3.46
توابع کتابخانه در فایل های هدر مختلف
فایل های هدر یا سرآیند در C | |
توابع اعلان برنامه | <assert.h> |
توابع نوع کاراکتری | <ctype.h> |
توابع محلی سازی | <locale.h> |
توابع ریاضی | <math.h> |
توابع پرش | <setjmp.h> |
توابع کنترل سیگنال | <signal.h> |
توابع مدیریت آرگومان های متغیر | <stdarg.h> |
توابع ورودی/ خروجی استاندارد | <stdio.h> |
توابع همه گانی استاندارد | <stdlib.h> |
توابع مدیریت رشته | <string.h> |
توابع زمان و تاریخ | <time.h> |