Tugas Algortihm and Programming: Pointers and Array

POINTER 


*) Pointer adalah suatu variabel yang mampu menampilkan address dari variabel yang lainnya.
•Syntax :
  <type> *ptr_name;
•2 operator yang biasa digunakan di pointer : * (content of) and & (address of)
•Contoh:
Initialize an integer pointer into a data variable:
int i, *ptr;
ptr = &i;
To assign a new value to the variable pointed by the pointer:

*ptr = 5;  /* means i=5 */ 



*)POINTER TO POINTER
•Pointer to pointer adalah sebuah variabel yang menyimpan address dari pointer yang lainnya
Syntax:
  <type> **ptr_ptr ;
Example:
  int i, *ptr, **ptr_ptr;
  ptr = &i;
  ptr_ptr = &ptr;
  To assign new value to i:
  *ptr = 5;  // means i=5 ;

  **ptr_ptr = 9;   // means i=9; or *ptr=9;





ARRAY
Array adalah suatu data yang tersimpan bisa diakses berupa secara berkelompok atau individual.
Syntax:
  type array_value [value_dim];
Example :

  int A[10];



*) KARAKTERISTIK DARI ARRAY:
1. Homogenous (tipe datanya sama semua)
2. Aksesnya random (Poisinya tidak random tapi bisa diakses secara random).

*) ARRAY 1 DIMENSI
#include<stdio.h>
int SIZE = 5;
void main() {
  int i, j;
  int n[SIZE] = {15, 9, 1, 7, 5};
  for( i=0 ; i<= SIZE ; i++) {
  printf("%5d ", n[i]);
  for ( j=1; j<=n[i] ; j++) printf("%c","*");
  printf("\n");
  }

}


*) ARRAY 2 DIMENSI
/* Printing out array 2-D */
#include <stdio.h>
void main() {
  int two_dim[3][5] = {1, 2, 3, 4, 5,
        10, 20, 30, 40, 50,
        100, 200, 300, 400, 500};
  int i, j;
  for (i=0; i<3; i++){
  for (j=0; j<5; j++) printf("%6d", two_dim[i][j]);
  printf("\n");
  }

}

Output:
1 2 3 4 5
10 20 30 40 50
100 200 300 400 500 


*) ARRAY 3 DIMENSI
Syntax 3D Array :
  type name_array[row][col][depth];
•Contoh:
  int x[3][2][4] = {{{1,2,3,4}, {5,6,7,8}},
                          {{11,12,13,14}, {15,16,17,18}},
                          {{21,22,23,24}, {25,26,27,28}}
       };  
   void main() {
     int x[4][3][5] = {{{1, 2, 3}, {0, 4, 3, 4}, {1, 2}},
     {{9, 7, 5}, {5, 7, 2}, {9}},       
     {{3, 3, 5}, {2, 8, 9, 9}, {1, 2, 1}},
     {{0}, {1}, {0, 1, 9}}
    };
     printf(“%5d”, x[2][1][3]);

  } 


*) ARRAY OF POINTER
Array yang diisi oleh pointer.
Syntax :
    type *array_name [value_dim];
•Contohe:
  int i;
  int *ptr[4];
  int x=1, y=2,  z=3, w=5;
  ptr[0]=&x, ptr[1]=&y; ptr[2]=&z;  ptr[3]=&w;

  for(i=0;i<4;i++) printf("%d ",*ptr[i]);
Output : 1 2 3 5



*) ARRAY OF CHARACTER
Array yang diisi oleh karakter
Syntax:
  char array_name[value_dim];
•Contoh:
char name[40];
char ss[20]={‘B’,’I’,’N’,’U’,’S’};  //20 elements

char ss[ ]= {‘B’,’I’,’N’,’U’,’S’};  // 5 elements






/Fahiya Namira - 2201755150/








Komentar