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]