awal[3] tidak dimasukkan ke data segment, karena awal[3] tidak di-initialize. Non-initialized variable diletakkan di BSS, tergantung O/S-nya, BSS bisa di-initialize dengan 0, atau untuk debugging mode, bisa dengan any value (eg. 0xCCCCCCCC di visual C++).
Stack-segment hanya digunakan untuk thread/function, bukan untuk global variable. Biasanya compiler tidak akan optimize global variable, karena compiler hanya compile satu file saja. Si compiler tidak tahu siapa saja yang refer ke variable ini. Mungkin saja, ada file .C lainnya yang mengakses global variable ini, dan di-link bersamaan. KOkon. On 5/4/06, Danny Kurniawan <[EMAIL PROTECTED]> wrote:
Kemungkinan penjelasan mas Eko benar... tapi saya menduga tidak diletakkannya awal[3] pada Data Segment, disebabkan karena adanya optimasi dari compiler yang mungkin diletakkan pada Stack Segment karena sifatnya hanya sementara, yaitu hanya digunakan dalam function main()... Coba compile tanpa optimasi: gcc -Wall -O0 -o str1 str1.c dan lihat apakah hasilnya seperti yang diharapkan: ABCDE ???
-- Berhenti langganan: [EMAIL PROTECTED] Arsip dan info: http://linux.or.id/milis
