Anda di halaman 1dari 3

Kode

Nama Robert Theodore


Asisten
NPM 2006579693

Jawaban
1. Pointer sendiri merupakan variabel khusus yang digunakan untuk menyimpan alamat
daripada nilai. Komponen dari pointer sendiri meliputi
type *var-name;
dimana type merupakan tipe dasar pointer; itu harus berupa tipe data C yang valid dan
var-name adalah nama variabel pointer. Tanda bintang * yang digunakan untuk
mendeklarasikan pointer sama dengan tanda bintang yang digunakan untuk perkalian.
Namun, dalam pernyataan ini tanda bintang digunakan untuk menunjuk variabel sebagai
penunjuk.

Referensi :
● https://www.tutorialspoint.com/cprogramming/c_pointers.htmFundamentals of
Digital Logic with Verilog Design: Third Edition
● https://www.programiz.com/c-programming/c-pointers

2. Implementasi Pointer pada string adalah untuk menyimpan karakter Misalkan kita
memiliki string 'C Pointer untuk disimpan dalam sebuah variabel dalam program.
Kemudian kita membuat array karakter untuk menampung nilai ini. kita dapat memiliki
pointer ke array karakter ini juga seperti pointer array lainnya.

Ketika pointer digunakan untuk array karakter atau string, maka disebut sebagai pointer
string. Dimana pointer ini akan bekerja mirip dengan pointer array lainnya. Ketika kita
menambah atau mengurangi pointer string, itu menambah atau mengurangi alamat
sebesar 1 byte.

Contoh program:
#include <stdio.h>

int main()

char *sample = "From whence cometh my help?";

while(putchar(*sample++));

return(0);

Dengan begitu output yang dihasilkan adalah From whence cometh my help? Hal ini didapatkan
dari string yang ditampilkan dibuat dengan menginisialisasi pointer.

Referensi :
● https://www.tutorialcup.com/cprogramming/string-pointers.htm

3. Pada kedua kode tersebut terdapat perbedaan dimana int * const ptr1; merupakan
constant pointers. Dimana pointers tersebut merujuk kepada lokasi memori yang sudah
tetap dan nilai pada lokasi tersebut bisa dirubah karena merupakan variable. Namun,
pada pointer akan terus merujuk kepada lokasi yang sama dan tidak bisa ke tempat lain.

Sedangkan pada Const int * ptr2; merupakan pointers to constant. Dimana pada
pointers to constants ini, data ditunjuk yang oleh pointers merupakan nilai constant dan
tidak bisa dirubah. Namun, pada pointer dapat dirubah dengan merujuk ke data lain.

Referensi :
• https://www.geeksforgeeks.org/difference-between-const-int-const-int-const-and-int-
const/
4. Dari program tersebut akan didapatkan hasil output berupa 6487568, Pada program, *p
menunjukkan data yang kosong. Apabila variable dimasukkan input x = 10 maka
variable akan memiliki nilai 10. Kemudian Pointer yang didapat pada bawahnya
merupakan hasil yang dimiliki oleh alamat referensi dari si x tersebut yaitu 10

Hal ini berarti alamat referensi yang dipakai merupakan alamat peyimpanan untuk
variable x. Setelahnya ketika x sudah diketahui alamat referensi berupa angka lain jika
disebutkan yaitu 6487580 untuk si p nya.

Referensi :
• Dibuat menggunakan Dev C++
• https://www.petanikode.com/c-pointer/

5. #include <stdio.h>
int kali(int *satu, int *dua int *output){
output = (satu) * (*dua);
}
int main()
{
int satu = 3;
int dua= 6;
printf("Nilai angka 1: %d, dan angka 2: %d\n", satu, dua);
kali(&satu, &dua &dua);
printf("Nilai angka 2 setelah dikalikan dengan angka 1: %d", dua);
return 0;
}
Referensi :
• Dibuat menggunakan Dev C++

Anda mungkin juga menyukai