Pointers and arrays


Nama : William Cahyadi
NIM   : 2201730135

Pointers

  • Pointer adalah sebuah variabel yang menyimpan address/alamat dari variabel lain.
  • Syntax untuk menuliskan pointer :  <data_type>*name_of_variable.
          ex: int*a;
  • Operator yang sering dipakai di pointer adalah :
          * ( isi dari sebuah variabel) dan &(alamat/address dari sebuah variabel).

  • Contoh penggunaan pointer :
                         #include <stdio.h>
                           int main()
                          {
                              int a;
                              int *ptr;                                          
                              a = 20;
                              ptr = &a;
                              printf("%d",*ptr);
                              return 0;
                         }
         Output dari program tersebut adalah 20.

  • Pointer to pointer
          syntax : <data_type> **ptr_name;

          example :   #include<stdio.h>
                   
                             int main()
                             {
                                 int a;
                                 int *ptr1;
                                 int **ptr2;
                                 a=20;
                                 ptr1=&a;
                                 ptr2=&ptr1;
                                 printf("%d %d %d",a,*ptr1,**ptr2);
                                 return 0;
                             }

Output dari program tersebut adalah 20 20 20 karena ptr1 mengandung alamat dari variabel a sehingga ketika *ptr1 di print akan menghasilkan 20.Sementara untuk ptr2 mengandung alamat ptr1 yang mengandung alamat dari varibel a sehingga ketika di print **ptr2 juga akan menghasilkan nilai 20.
           

Array

  • Array adalah sebuah kumpulan data yang sejenis.
  • Karakteristik dari sebuah array adalah : 
  1. Data-datany homogen.
  2. Dapat diakses secara random ( dapat diakses satu-satu tanpa melihat urutan).  
  • Illustration of array: 
          Arrays in C

  • Array initialization
          example : int a[5] = {0,1,2,3,4};
                           a[0] = 0 , a[1] = 1, a[2] = 2 , a[3] = 3 , a[4] = 4.

                           int b[5] = {1,2,3};
                           b[0] = 1 , b[1] = 2 , b[2] = 3 , b[3] = 0 , b[4] = 0.
                           b[3] dan b[4] akan bernilai 0 secara otomatis jika tidak di inisialisasikan di awal.

  • Accessing array
          Kita hanya memanggil index array yang ingin kita akses nilainya.
          misal : int a[5] = {0,1,2,3,4};
                      jika ada perintah printf("%d",a[0]) maka angka 0 akan di print di output.

  • Multidimensional array:
          2D array = <data_type> name_of_array [row] [column];
          example : int a[3][3]
                           Image result for 2d array example
          3D array = <data_type> name_of_array [row] [column] [depth];

String

  • String adalah array char/kumpulan karakter yang berakhir dengan null character  (\0).
  • Syntax : char array_name[value];
  • String manipulation:
          library yang dipakai untuk memanipulasi string <string.h>

          list of function:
          strlen() untuk mengembalikan/menampilkan nilai dari panjang sebuah string.
          strcpy(s1,s2) untuk mengcopy string s2 to string s1.
          strncpy(s1,s2,n) untuk mengcopy n karakter pertama string s2 ke string s1.
          strcat(s1,s2) untuk menambah string s2 ke akhir string s1.
          strncat (s1,s2,n) untuk menambah n karakter string s2 ke akhir string s1.
          strcmp(s1,s2) untuk membandingkan nilai dari string s1 dan s2 apakah sama atau tidak? jika  sama maka akan                    mengembalikan angka 0.                        
          strrev() untuk membalikkan sebuah string. cth : Halo menjadi olaH.                            


          

Comments

Popular posts from this blog

Sorting and searching

Function and recursion