Minggu, 31 Desember 2017

C

Pointer adalah penunjuk alamat dari sebuah variable
Contoh
Int x;
Int *ptr;
ptr=x;//sala karena x bukan alamat
ptr=&x;// benar &x adalah alamat dari x
*ptr=x ;// benar *ptr adala isi dari pointer ptr
*ptr=&x;//salah
*ptr=5;salah karena belum ditentukan alamatnya
ptr=(int *)malloc(2);
ptr[1]=&x;//salah karena pointer sudah disiapkan trmpat dan sudah punya alamat sendiri
*ptr=5;//betul karena sudah ada alamat ptr

Dalam array
Int x[3]={1,2,3};
Int *ptr;
ptr=x;//benarkarena aray tanpa nilai indek=alamat pertama daribarray
ptr=&x;//salah
ptr=&x[0];//benar
*ptr=x;//salah x ini artinya alamat pertama dari array
*ptr=x[0];//benar

Untuk menambahkan alamat pointer ptr++ ini bukan untuk mengakses nilai pada pointer karena alamat pointer yang bertambah jadi misal nilai nya bukanbberada dialamat yang tadi

Ponter juga bisa untuk string
Contoh
Char *nama[5]={"amin","farid","arwinto","rohadi","thomas"}
Printf(*nama[0]);