Ronny Haryanto wrote:
> 
> #include <string.h>
> #include <stdio.h>
> int main()
> {
>         char *s;
>         /* mestinya di sini ada s=malloc() */
>         strcpy(s, "contoh string");
>         printf("%s\n", s);
> }
> 
> Variable (pointer) s adanya di data segment, tapi memorynya belum
> diallocate di stack. Dan s masih menunjuk entah ke mana, karena
> uninitialized.
> 

apa nggak kebalik tuh?

variable s letaknya di stack (sama seperti kalo kita definisikan 'int
i' setelah definisi variabel s, maka variabel 'i' letaknya juga di
stack), tapi isi variable s merujuk ke lokasi di data segmen (setelah
di-malloc tentu saja), karena malloc itu selalu ngambil memory dari
data segment (atau heap segment, whatever).

-- 
cheers,
Bennylp


--------------------------------------------------------------------------------
Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3
Pengelola dapat dihubungi lewat [EMAIL PROTECTED]

Kirim email ke