๐ Daftar Isi
Fungsi dalam bahasa C tidak berbeda dengan fungs dalam bahasa pemrogaman lainnya. Fungsi adalah suatu blok statement/code yang melakukan tugas tertentu.
Pendeklarasian fungsi dalam bahasa C dapat didefinisikan sebelum main() dan sesudah main()
Fungsi didefinisikan sebelum main()
#include <stdio.h>
void displaymessage()
{
printf("www.belajarstatistik.com");
}
void main()
{
displaymessage();
};
Fungsi didefinisikan setelah main()
#innclude <stdio.h>
//prototypr declaration
void displaymessage();
void main()
{
displaymessage();
}
void displaymessage()
{
printf("www.belajarstatistik.com");
}
Dalam fungsi dikenal dua istilah berikut
- Pass by reference (Pointer sebagai parameter fungsi) : alamat digunakan untuk mengakses parameter yang dipanggil fungsi, jika ada dilakukan perubahan dalam fungsi tsb maka akan mengubah nilai dalam alamat tersebut.
- Pass by value : mengakses nilai dari parameter yang dipanggil di fungsi
Pointer Sebagai Parameter Fungsi
Pass by value
#include <stdio.h>
int tambahsatu(int a);
int main()
{
int m = 14;
printf("m = %d\n", m);
int n = tambahsatu(m);
printf("m = %d\n", m);
printf("n = %d\n", n);
return 0;
}
int tambahsatu(int a) //by value
{
a = a + 1;
return a;
}
Pass by reference
#include <stdio.h>
int tambahsatu(int *a) //by reference
int main()
{
int m = 14;
printf("m = %d\n", m);
int n = tambahsatu(&m);
printf("m = %d\n", m);
printf("n = %d\n", n);
return 0;
}
int tambahsatu(int *a) //by reference
{
*a = *a + 1;
return *a;
}
Pointer Sebagai Return Value Suatu Fungsi
#include <stdio.h>
int *getMax(int *, int *);
int main(void)
{
int x = 100;
int y = 200;
int *max;
max = getMax(&x, &y);
printf("Max value: %d\n", *max);
return 0;
}
int *getMax(int *m, int *n)
{
if (*m > *n)
{
return m;
}
else
{
return n;
}
}}
Jika nilai yang ditunjuk pointer m lebih besar dari nilai yang ditunjuk pointer n,
maka return alamat dari m
Lainnya, maka return alamat dari n
Materi Lengkap
Silakan baca juga beberapa artikel menarik kami tentang Struktur dan Pointer, daftar lengkapnya adalah sebagai berikut.