c for Geek - part 2 author: ev1lut10n [Casting pada Bahasa C] Casting merupakan konversi NILAI pada c. PERHATIAN !!! yang dikonversi adalah "NILAI" nya ! Contoh2 casting pada c: [casting dari int ke long] ================ #include int main() { int a=1000; long b; b=(long) (a); printf("%d\n",b); } ================ [contoh casting dari int ke pointer] =================== #include int main() { int *pointer; int int_biasa=100; pointer=(int *) (int_biasa); printf("%d\n",pointer); printf("alamat memori pointer: %p\n",&pointer); printf("\ndone dude\n"); } =================== cek dengan gdb: ================= ev1lut10n# gcc -o casting casting.c -g ev1lut10n# gdb -q casting (gdb) l 1 #include 2 int main() 3 { 4 int *pointer; 5 int int_biasa=100; 6 pointer=(int *) (int_biasa); 7 printf("%d\n",pointer); 8 printf("alamat memori pointer: %p\n",&pointer); 9 printf("\ndone dude\n"); 10 } (gdb) b 9 Breakpoint 1 at 0x80484b4: file casting.c, line 9. (gdb) run Starting program: /root/Desktop/Downloads/c/tes/casting 100 alamat memori pointer: 0xbfbfea0c Breakpoint 1, main () at casting.c:9 9 printf("\ndone dude\n"); (gdb) x/d 0xbfbfea0c 0xbfbfea0c: 100 ================= terlihat pointer kita menunjuk ke alamat memori 0xbfbfea0c yang isinya adl 100