POINTER
Disususn Oleh :
Nurfauzzyah ( 180406017)
PENDIDIKAN MATEMATIKA
UNIVERSITAS SAMUDRA
2019
PRAKTIKUM 5
POINTER
Pointer yaitu variabel yang berisi (menyimpan) alamat memori dari sebuah
variabel lain atau pointer dapat diartikan sebagai variabel yang menunjuk ke
sebuah alamat memori dari sebuah variabel lain. Pointer ini digunakan dengan
maksud untuk menunjukan ke suatu alamat memori sehingga kita dapat
mengetahui dengan mudah alamat dari sebuah variabel. Pointer juga bisa diartikan
sebagai tipe data yang nilainya mengarah pada nilai yang terdapat pada suatu
alamat memori.
B. Pointer Array
C. Pointer String
D. Array Pointer
Pointer dan kaitannya dengan fungsi yang akan dibahas berikut meliputi:
Pointer sebagai parameter fungsi
Pointer sebagai keluaran fungsi
Penerapan pointer sebagai parameter yaitu jika diinginkan agar nilai suatu
variabel internal dapat diubah oleh fungsi yang dipanggil.
Sebagai contoh dapat dilihat pada fungsi berikut.
void naikkan_nilai (int *x, int *y)
{
*x = *x + 2;
*y = *y + 2;
}
Fungsi di atas dimaksudkan agar kalau dipanggil, variabel yang berkenaan
dengan parameter aktual dapat diubah nilainya, masing-masing dinaikkan sebesar
2.
Contoh pemanggilan :
naikkan_nilai(&a, &b);
Tidak terbatas menunjuk alamat dari suatu variabel, pointer dapat pula menunj
uk ke pointer lainnya. Didalam pendeklarasianya, hanya menambahkan pointer ref
erence ( * ) pada variabel yang akan ditunjuk.
PERCOBAAN
/* program : ptrl.c */
# include <stdio.h>
main ()
int *px ;
2. Mengakses isi suatu variabel melalui pointer. Tipe variabel pointer dan tipe data
yang ditunjuk harus sejenis
/* program : ptr2 . c */
# include <stdio.h>
main ()
int *pu;
int nu;
int u = 1234;
pu = &u;
nu = *pu;
/* program : ptr3 . c */
# include <stdio.h>
main ()
{
float d = 54.5f, *pd;
pd = &d;
*pd += 10 ;
4. Hubungan antara pointer dan array. Suatu nama array yang ditulis tanpa dengan
imdeknya menunjukkan alamat elemen pertama dari array (versi 1 )
/* program : ptr4.c */
# include <stdio.h>
main ()
{
int *ptgl;
printf (" Nilai dari tgl _lahir [0] = %d\n" , tgl_lahir [0] );
5. Hubungan antara pointer dan array. Suatu nama array yang ditulis tanpa dengan
imdeknya menunjukkan alamat elemen pertama dari array (versi 2 )
/* program : ptr5 . c */
# include <stdio.h>
main ()
ptgl = tgl_lahir ;
6. Hubungan antara pointer dan array. Suatu nama array yang ditulis tanpa dengan
imdeknya menunjukkan alamat elemen pertama dari array (versi 3 )
/* program : ptr6.c */
#include <stdio.h>
main()
{
static int tgl_lahir[] = {16, 4, 1974};
int i;
int *ptgl;
ptgl = tgl_lahir;
printf("Nilai yang ditunjuk oleh ptgl = %d\n", *ptgl);
for (i=0; i<3; i++)
printf("Nilai dari tgl_lahir[i] = %d\n", *ptgl++);
}
/* program : arrnama.c */
# include <stdio.h>
# include <string.h>
# define PANJANG 20
main()
{
puts("SEMULA : ");
strcpy(namax, nama1);
strcpy(nama1, nama2);
strcpy(nama2, namax);
puts("KINI :");
}
8. Menukarkan isi 2 string dengan fasilitas pointer
/* program : ptrnama.c
#include <stdio.h>
#include <string.h>
main()
char *namax;
puts("SEMULA : ");
nama1 = nama2;
nama2 = namax;
puts("KINI : ");
/* program ppointerl.c */
# include <stdio.h>
main()
b = &a;
c= &b;
/* program : ppointer2.c */
# include <stdio.h>
main()
{
int var_x = 273;
int *ptrl;
int **ptr2;
ptrl = &var_x;
ptr2 = &ptrl;
#include <stdio.h>
main()
int a = 3;
int b = 7;
*x = *x + 2;
*y = *y + 2;
}
/* program : Pbulan.c */
# include <stdio.h>
main()
int b1 ;
scanf("%d" , &b1 );