Pada bahasa C, variabel
static dan variabel global harus diinisialisasi oleh kompilator itu sendiri. Jika tidak, maka harus diinisialisasi dengan sebuah nilai konstanta.
 |
Ilustrasi Variabel Static Bahasa C |
Catatan: jika program dikompilasi dan dijalankan dalam bahasa C++ maka program dapat berjalan dengan baik dan menghasilkan keluaran 10.
Contoh: Perkirakan hasil keluaran dari program bahasa C berikut ini.
// PROGRAM 1
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
static int *p = (int*)malloc(sizeof(p));
*p = 10;
printf("%d", *p);
}
Contoh:
// PROGRAM 2
#include <stdio.h>
#include <stdlib.h>
int *p = (int*)malloc(sizeof(p));
int main(void)
{
*p = 10;
printf("%d", *p);
}
Kedua program diatas tidak dapat dikompilasi pada bahasa C. Jika dilakukan kompilasi dengan bahasa C maka akan didapat hasil kompilasi error.
Contoh: Untuk latihan, perkirakan hasil keluaran hasil program berikut dengan menggunakan bahasa C dan C++.
#include <stdio.h>
int fun(int x)
{
return (x+5);
}
int y = fun(20);
int main()
{
printf("%d ", y);
}
Artikel ini didedikasikan kepada: Betari Siwi Riyandhini, Desta Ellen Rizki Nur Cahyani, Evana Ayu Lestari, Fadhila Nur Kinasih Ariansyah, dan Farikhah Ismawati.
Materi yang disampaikan masih kurang lengkap, mohon untuk dilengkapi lagi supaya bisa lebih paham
BalasHapusSelalu, dan sedang dalam proses perbaikan secara berkala.
HapusApa yang dimaksud dengan inisialisasi?
BalasHapusDalam pemrograman komputer, inisialisasi adalah proses penetapan nilai awal untuk objek atau variabel data. Konstruksi pemrograman yang melakukan inisialisasi biasanya disebut penginisialisasi atau initializer.
HapusApa manfaat proses inisialisasi pada pembuatan program?
BalasHapusProses penginisialisasian variabel dapat mencegah bug pada saat membuat program. Jika variabel adalah jenis referensi, maka dengan melakukan proses inisialisasi pada proses pembuatan program tersebut dapat terhindar dari kesalahan referensi null dikemudian hari.
Hapuscatatan: variabel jenis apapun yang memiliki nilai default bukan null akan menggunakan beberapa memori untuk menyimpan nilai default tersebut.