Pada bahasa c, variabel statis hanya bisa diinisialisasi menggunakan konstanta literal. Contoh, perhatikan contoh gagal dari hasil kompilasi program berikut ini:
Jika dilakukan sedikit perbaikan program, maka hasil kompilasi program tidak akan menunjukkan error apapun.
Alasan kenapa hal ini bisa terjadi adalah sederhana: semua object dengan penyimpanan statis harus diinisialisasi atau diatur sesuai nilai inisialnya sebelum dilakukan eksekusi ketika fungsi main() dijalankan. Sehingga sebuah nilai tidak akan diketahui pada waktu translasi karena tidak bisa digunakan untuk inisialisasi dari variabel statis.
Jika dilakukan sedikit perbaikan program, maka hasil kompilasi program tidak akan menunjukkan error apapun.
Alasan kenapa hal ini bisa terjadi adalah sederhana: semua object dengan penyimpanan statis harus diinisialisasi atau diatur sesuai nilai inisialnya sebelum dilakukan eksekusi ketika fungsi main() dijalankan. Sehingga sebuah nilai tidak akan diketahui pada waktu translasi karena tidak bisa digunakan untuk inisialisasi dari variabel statis.
Tidak ada komentar:
Posting Komentar
Respon komentar 7 x 24 jam, so please be patient :D