Pointer and Arrays

Pointer & Arrays

Pointer dimana dia menyimpan alamat dari variabel lain.

* = content of

&= addres of

Syntax

<type> * ptr_name:

Ex:

Int i, *ptr; (content)

Ptr = & i; * (menyimpan nilai variable yang lain)

 

*Ptr

Val            Addr

41 108

 

i

5 104

 

Tujuan fflush     : untuk membersihkan inputan yang tidak diperlukan

Single pointer   : hanya dapat menyimpan alamat dari variable

Double pointer : menyimpan alamat dari single

Syntax

< type > ** ptr_ptr:

Ex:

Inti, *ptr, **ptr_ptr:

Ptr= &i;

Ptr_ptr = &ptr;

To assign new value = i

*ptr = 5,          // i = 5
**ptr_ptr = 9;  // i  = 9

 

Prinsip pointer : berapa pun pointernya maka akan tetap berkurang satu per satu

**ptr_ptr

*ptr

*x

*Ptr = 15

Ptr_ptr = &,ptr;

X = 10;

**ptr_ptr = 20

 

Array Characteristics

  • Homogenous

Semua elemen memiliki data yang sama

  • Random Acces

Setiap elemen dapat dicapai individual secara berurutan

 

0 – 99

Int X [100]

0 – (n – 1) X [99] = 100

[] = indeks elemen

 

Array initialization

Ex :

Int B [ ] = {1,2,-4,8};

1 2 -4 8 0 0 0 0 0

B(0)          B(1)            B(2)          B(2)       B(3)           B(4)           B(5)           B(6)                    B(7)

Accesering Arrays dengan menggunakan  pointer

  • (A +2) or A [2] or A [2]

 

 

 

 

 

Pointer Variable

Pointer = assigned with value new run time

Pointer Constant = can’t assigned with value new run time

Array selalu diawali dengan nilai 0

Kerugian array = meemakan banyak memory

Int a[4][3]; [  ]        [  ]

Row    column

[ 0 ]     [ 1 ]  = 10

[ 0 ]     [ 1 ]  = 20

Int B (8) = {0,0,0,5};

B(5) = 15;

Int X;

Int * arr . ptr [ 5 ];

Arr_ptr [ 0 ]=&x;

 

Arr_ptr [ 4 ]

Character (double code)

String (single mode)

Setiap karakter array diakhiri dengan dengan (`\’)

Leave a Reply

Your email address will not be published. Required fields are marked *