/******************************************************************************
https://www.onlinegdb.com/online_c++_compiler
Online C++ Compiler.
Code, Compile, Run and Debug C++ program online.
Write your code in this editor and press "Run" button to compile and execute it.
*******************************************************************************/
#include <stdio.h>
//void
//void adalah function yang tidak memiliki return value dan tipe data
void cetak (){
printf("Hello\n");
printf("Hello2\n");
}
// int angka(){
// return 10;
// }
int kuadrat(int angka){
//2
return angka * angka;
}
//Passing by value
//Melempar value dari suatu variabel melalui parameter untuk di proses
//data yang diubah di function tidak akan berubah
//karena function memiliki salinan dan bukan data yang asli
void tukarAngka(int angka1, int angka2){
// angka1 = 10
// angka2 = 5
// pertukaran
// angka1 = 5
// angka2 = 10
//ember1 = air
//ember2 = pasir
//emberKosong
//emberKosong = air
//ember1 = pasir
//ember2 = emberBerisiAir
int temp;
temp = angka1;
angka1 = angka2;
angka2 = temp;
}
// passing by reference
// melempar address dari suatu variabel melalui parameter
// data yang diubah di function akan berubah di main (data aslinya)
// & :nanti tolong ubah data aslinya (alamat aslinya)
void tukarAngkaByReference(int &angka1, int &angka2){
int temp;
temp = angka1;
angka1 = angka2;
angka2 = temp;
}
// passing by pointer
void tukarAngkaByPointer(int *angka1, int *angka2){
int temp;
temp = *angka1;
*angka1 = *angka2;
*angka2 = temp;
}
int main()
{
// cetak();
// int angkaDariFunction = angka();
// printf("%d", angkaDariFunction);
// int angkaSaya = 5;
// int hasilKuadrat = kuadrat(angkaSaya);//5
// printf("%d", hasilKuadrat);
int angka1 = 10;
int angka2 = 5;
printf("Sebelum Tukar %d %d\n", angka1, angka2);
// tukarAngkaByReference(angka1, angka2);
tukarAngkaByPointer(&angka1, &angka2);
//belum tertukar, karena yang di print masih data yang asli
printf("Sesudah Tukar %d %d\n", angka1, angka2);
return 0;
}
Tidak ada komentar:
Posting Komentar