Menu
CoddyTech

Nilai vs Pointer

Pelajaran 7 dari 17 dalam kursus Fungsi dalam C di Coddy.

Saat kita memberikan parameter ke fungsi, kita bisa melakukannya dengan dua cara: berdasarkan nilai atau menggunakan pointer. Mari kita lihat contoh sederhana untuk memahami maksud nilai dan pointer:

#include <stdio.h>

void sum(int a) {
   a = a + 1;
   printf("sum function: %d\n", a);
}

int main(void) {
   int a = 10;
   sum(a);
   printf("main function: %d\n", a);
   return 0;
}

Output:

sum function: 11 
main function: 10 

Seperti yang kamu lihat pada contoh ini, kita menggunakan nilai, jadi nilai variabel a tidak berubah. Namun, jika kita perlu mengakses variabel dan mengubah nilainya, kita bisa menggunakan pointer sebagai parameter.

#include <stdio.h>

void sum(int *a) {
   *a = *a + 1;
   printf("sum function: %d\n", *a);
}

int main(void) {
   int a = 10;
   sum(&a);
   printf("main function: %d\n", a);
   return 0;
}

Karena fungsi sekarang menerima pointer sebagai parameter, saat fungsi dipanggil, kamu harus memberikan alamat variabel:

sum(&a);

Output:

sum function: 11 
main function: 11 
challenge icon

Tantangan

Mudah

Dalam kode yang diberikan, kita mendefinisikan variabel bernama y.

  • Tulis fungsi square yang menerima pointer ke sebuah integer sebagai parameternya.
  • Di dalam fungsi ini, kuadratkan nilai variabel yang ditunjuk oleh pointer tersebut, lalu cetak nilainya.
  • Cetak nilai variabel di dalam fungsi square dan fungsi main untuk menunjukkan bahwa variabel aslinya telah berubah.

Coba sendiri

#include <stdio.h>


// Fungsi square untuk menguadratkan nilai melalui pointer
 
int main(void) {

    int a = 200;
    
    // Panggil fungsi square
     
    // Cetak variabel awal 
    
    return 0;
}

Semua pelajaran di Fungsi dalam C

Latihan sendiri: Compiler C online