ขึ้นอยู่กับว่ามีอาร์กิวเมนต์อยู่หรือไม่และค่าที่ส่งคืนหรือไม่ ฟังก์ชันจะถูกจัดประเภทเป็น −
-
ฟังก์ชันที่ไม่มีอาร์กิวเมนต์และไม่มีค่าส่งคืน
-
ฟังก์ชันที่ไม่มีอาร์กิวเมนต์และมีค่าส่งคืน
-
ฟังก์ชันที่มีอาร์กิวเมนต์และไม่มีค่าส่งคืน
-
ฟังก์ชันที่มีอาร์กิวเมนต์และมีค่าส่งคืน
ฟังก์ชันที่ไม่มีอาร์กิวเมนต์และไม่มีค่าส่งคืน

ตัวอย่าง
#include<stdio.h>
main (){
void sum ();
clrscr ();
sum ();
getch ();
}
void sum (){
int a,b,c;
printf("enter 2 numbers:\n");
scanf ("%d%d", &a, &b);
c = a+b;
printf("sum = %d",c);
} ผลลัพธ์
Enter 2 numbers: 3 5 Sum=8
ฟังก์ชันที่ไม่มีอาร์กิวเมนต์และมีค่าส่งคืน

ตัวอย่าง
#include<stdio.h>
main (){
int sum ();
int c;
c= sum ();
printf(“sum = %d”,c);
getch ();
}
int sum (){
int a,b,c;
printf(“enter 2 numbers”);
scanf (“%d%d”, &a, &b);
c = a+b;
return c;
} ผลลัพธ์
Enter two numbers 10 20 30
ฟังก์ชันที่มีอาร์กิวเมนต์และไม่มีค่าส่งคืน

ตัวอย่าง
#include<stdio.h>
main (){
void sum (int, int );
int a,b;
printf("enter 2 numbers");
scanf("%d%d", &a,&b);
sum (a,b);
getch ();
}
void sum ( int a, int b){
int c;
c= a+b;
printf (“sum=%d”, c);
} ผลลัพธ์
Enter two numbers 10 20 Sum=30
ฟังก์ชันที่มีอาร์กิวเมนต์และค่าที่ส่งกลับ

ตัวอย่าง
#include<stdio.h>
main (){
int sum ( int,int);
int a,b,c;
printf("enter 2 numbers");
scanf("%d%d", &a,&b);
c= sum (a,b);
printf ("sum=%d", c);
getch ();
}
int sum ( int a, int b ){
int c;
c= a+b;
return c;
} ผลลัพธ์
Enter two numbers 10 20 Sum=30