Pemrograman C

Statis dalam Pemrograman C

Statis dalam Pemrograman C
Dalam tutorial ini, kami akan menjelaskan kata kunci statis dengan menerapkannya dalam variabel dan fungsi. Statis adalah kata kunci yang digunakan dalam pemrograman C, dan dapat diterapkan dengan menggunakan sintaks berikut:

statis tipe data nama variabel

Variabel lokal statis

Ketika variabel dalam suatu fungsi statis, variabel mempertahankan nilainya di antara pemanggilan fungsi.

//Contoh 1.c
#termasuk
int kesenangan1()

int jumlah=0;
menghitung++;
jumlah pengembalian;

int kesenangan2()

jumlah int statis=0;
menghitung++;
jumlah pengembalian;

int utama()

printf("panggilan pertama fun1 kembali : %d\n",fun1());
printf("panggilan ke-2 fun1 kembali : %d\n\n",fun1());
printf("panggilan pertama fun2 kembali : %d\n",fun2());
printf("panggilan kedua fun2 kembali : %d\n",fun2());
kembali 0;


Dalam Contoh 1.c, kami memiliki dua fungsi: kesenangan1() dan kesenangan2(). Di kesenangan1(), kami mendeklarasikan satu variabel (hitungan) dan menginisialisasi ke 0. Kemudian, kami menambah variabel count dan mengembalikan nilai yang dihasilkan. Menggunakan utama(), Kami memanggil kesenangan1() dua kali, dan setiap kali, nilai 1 dikembalikan karena variabel hitungan dihapus saat panggilan ke kesenangan1() selesai. Di kesenangan2() kami mendeklarasikan variabel count sebagai variabel statis. Oleh karena itu, nilainya dipertahankan. Menggunakan utama(), Kami memanggil kesenangan2() dua kali: pertama kali, nilai 1 dikembalikan, dan kedua kalinya, nilai 2 dikembalikan.

Variabel global statis

Variabel global statis berperilaku dengan cara yang sama seperti variabel global lainnya, tetapi tidak dapat diakses dari program C lain.

Fungsi statis

Di C, fungsi bersifat global secara default. Namun, jika kita mendeklarasikan fungsi statis, maka fungsi tersebut bersifat lokal dan tidak dapat diakses dari program C lain.

Inisialisasi variabel statis

Jika variabel statis tidak diinisialisasi secara eksplisit, maka itu diinisialisasi sebagai 0.

//Contoh2.c
#termasuk
int utama()

statis int saya;
printf("Nilai i : %d\n",i);
kembali 0;


Dalam Contoh2.c, kami mendeklarasikan variabel statis i yang tidak diinisialisasi. Namun, karena variabelnya statis, maka secara otomatis diinisialisasi ke 0.

Penting untuk dicatat bahwa variabel statis harus diinisialisasi dengan literal konstan; kita tidak dapat menggunakan nilai pengembalian fungsi untuk menginisialisasi variabel statis.

//Contoh3.c
#termasuk
int kesenangan1()

kembali 5;

int utama()

static int i = fun1();
printf("Nilai i : %d\n",i);
kembali 0;


Dalam Contoh3.c, kami mencoba menginisialisasi variabel statis dengan menggunakan nilai balik dari kesenangan1(). Namun, seperti yang Anda lihat, kesalahan ditampilkan saat kode dikompilasi.

Ringkasan

Umur variabel statis dan umur program adalah sama.

Jika variabel statis tidak diinisialisasi, maka akan mengambil nilai default 0.

Baik variabel statis global maupun fungsi statis tidak dapat diakses dari program selain yang telah didefinisikan.

Vulkan untuk Pengguna Linux
Dengan setiap generasi baru kartu grafis, kami melihat pengembang game mendorong batas kesetiaan grafis dan selangkah lebih dekat ke fotorealisme. Tet...
OpenTTD vs Simutrans
Membuat simulasi transportasi Anda sendiri bisa menyenangkan, santai, dan sangat menarik. Itulah mengapa Anda perlu memastikan bahwa Anda mencoba game...
Tutorial OpenTTD
OpenTTD adalah salah satu game simulasi bisnis paling populer di luar sana. Dalam game ini, Anda perlu membuat bisnis transportasi yang luar biasa. Na...