Dalam bahasa C, ada dua cara utama untuk mengirimkan data ke fungsi: Pass by Value dan Pass by Reference (menggunakan pointer).
Nilai dari argumen disalin ke parameter fungsi. Perubahan yang dilakukan di dalam fungsi tidak mempengaruhi variabel asli.
void ubah(int x) { x = 100; }
Alamat memori variabel dikirim ke fungsi. Perubahan yang dilakukan di dalam fungsi akan mengubah nilai variabel asli.
void ubah(int *x) { *x = 100; }
Contoh di bawah mendemonstrasikan fungsi tukar (swap) menggunakan pointer.
Klik 'Jalankan Code' untuk melihat hasil...