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.
- 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 :
- Data-datany homogen.
- Dapat diakses secara random ( dapat diakses satu-satu tanpa melihat urutan).
- Illustration of array:
- 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]
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.
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
Post a Comment