Perbedaan ++*p, *p++, dan *++p pada Bahasa C
#include <stdio.h>
int main(void)
{
int arr[] = {10, 20};
int *p = arr;
++*p;
printf("arr[0] = %d, arr[1] ="
" %d, *p = %d", arr[0], arr[1], *p);
return 0;
}
#include <stdio.h>
int main(void)
{
int arr[] = {10, 20};
int *p = arr;
*p++;
printf("arr[0] = %d, arr[1] ="
" %d, *p = %d", arr[0], arr[1], *p);
return 0;
}
#include <stdio.h>
int main(void)
{
int arr[] = {10, 20};
int *p = arr;
*++p;
printf("arr[0] = %d, arr[1] ="
" %d, *p = %d", arr[0], arr[1], *p);
return 0;
}
- Precedence dari prefix ++ dan * adalah sama. Asosiatifitas dari keduanya adalah dari kanan ke kiri (right to left).
- Precedence dari postfix ++ adalah lebih besar dari * dan prefix ++. Tingkat asosiatifitas dari postfix ++ adalah dari kiri ke kanan (left to right).
- Fakta tentang Sizeof pada Bahasa C [klik]
- 5 Fakta Antara Strlen vs Sizeof pada Bahasa C [klik]
- 4 Contoh Program Operator Stringsizing dan Tokenpasting pada Bahasa C [klik]
- Penjelasan Singkat, Makro PRINT() pada Bahasa C [klik]
- Variabel Panjang Argumen Untuk Makro pada Bahasa C [klik]
- Fakta dan Penjelasan Makro Multibaris pada Bahasa C [klik]
- Fakta dan Penjelasan Makro Offset pada Bahasa C [klik]
Apa yang dimaksud dengan pointer atau variabel pointer dalam bahasa pemrograman C?
BalasHapusPointer adalah variabel yang nilainya adalah alamat memori dari variabel lain, yaitu berupa alamat langsung dari lokasi memori variabel yang dituju tersebut. Seperti halnya variabel atau bentuk konstanta apapun, penggunaan variabel pointer harus dideklarasikan terlebih dahulu sebelum pointer (variabel) tersebut dapat digunakan untuk menyimpan alamat variabel apapun.
Hapusbentuk penulisan dari variabel yang digunakan sebagai pointer adalah diberi tanda '*' pada bagian awal sebelum nama variabel. Contoh: int *p;
HapusPointer adalah variabel yang menyimpan alamat memori dari variabe lain. Pointer digunakan untuk menyimpan alamat variabel lain atau item memori dari variabel lain. Pointer sangat berguna untuk jenis parameter passing lainnya yang biasa disebut sebagai Pass By Address. Pointer sangat penting dalam pembuatan program untuk alokasi memori dinamis.
BalasHapusApakah variabel tipe pointer dapat digunakan secara bersamaan dengan operator increment ataupun decrement?
BalasHapusIya, seperti diperlihatkan pada contoh-contoh dalam artikel ini.
Hapus