توابع در C
تعریف و فراخوانی توابع، پارامترها، مقدار بازگشتی و مزایای استفاده از توابع
تابع چیست؟
تابع یک بلوک کد قابل استفاده مجدد است که یک کار مشخص انجام میدهد. بهجای نوشتن مکرر یک کد، آن را یکبار در تابع مینویسیم و هر جا لازم شد فراخوانی میکنیم.
مزایای توابع
- استفاده مجدد: یکبار بنویس، چندبار استفاده کن
- سازماندهی: برنامه به بخشهای منطقی تقسیم میشود
- خوانایی: کد قابل فهمتر میشود
- تست آسانتر: هر تابع را جداگانه میتوان تست کرد
تعریف تابع
returnType functionName(parameters) {
// بدنه تابع
return value; // اگر returnType برابر void نباشد
}
- returnType — نوع مقدار بازگشتی (مثل int، float یا void)
- functionName — نام تابع (با قوانین نامگذاری متغیر)
- parameters — ورودیهای تابع (میتواند خالی باشد)
مثال: تابع ساده
void myFunction() {
printf("سلام از تابع!");
}
int main() {
myFunction(); // فراخوانی تابع
return 0;
}
تابع با پارامتر
void greet(char name[]) {
printf("سلام %s!", name);
}
int main() {
greet("علی");
return 0;
}
تابع با مقدار بازگشتی
int add(int a, int b) {
return a + b;
}
int main() {
int result = add(5, 3);
printf("%d", result); // 8
return 0;
}
تابع void
کلمه void یعنی تابع چیزی برنمیگرداند:
void printLine() {
printf("--------------------");
}
تعریف تابع قبل از main
در C، تابع باید قبل از استفاده تعریف یا اعلان (declare) شده باشد. دو روش:
روش ۱: تعریف کامل قبل از main
int add(int a, int b) {
return a + b;
}
int main() { ... }
روش ۲: اعلان (Prototype) قبل و تعریف بعد از main
int add(int a, int b); // اعلان
int main() {
printf("%d", add(2, 3));
return 0;
}
int add(int a, int b) { // تعریف
return a + b;
}
نکات مهم
- نام تابع باید گویا باشد:
calculateAreaبهتر ازfunc1 - هر تابع فقط یک مقدار برمیگرداند (برای چند مقدار بعداً اشارهگر یاد میگیرید)
- وقتی
returnاجرا شود، تابع بلافاصله پایان مییابد
این مبحث بخشی از دوره آموزش کامل زبان C است.