Cakupan Variabel
Pelajaran 5 dari 17 dalam kursus Fungsi dalam C di Coddy.
Setiap variabel memiliki cakupan, yaitu bagian program tempat kamu dapat menggunakannya. Variabel dapat bersifat global atau lokal.
Variabel lokal
Variabel lokal dibuat di dalam blok kode, seperti dalam fungsi, dan hanya ada di sana. Memori untuk variabel ini dialokasikan saat blok dimulai dan dibebaskan saat blok berakhir, sehingga variabelnya dihapus.
#include <stdio.h>
void message() {
char *msg = "Coddy";
printf("%s \n", msg);
}
int main(void) {
char *title = "tech";
message();
printf("%s \n", title);
return 0;
}Dalam fungsi message, variabel msg didefinisikan. Demikian pula, fungsi main mendefinisikan variabel title. Variabel-variabel ini tidak tersedia di luar fungsi masing-masing. Misalnya, kita tidak dapat menggunakan variabel msg dalam fungsi main karena cakupannya terbatas pada fungsi message.
Prinsip yang sama berlaku untuk variabel yang didefinisikan di dalam blok kode bersarang seperti if, else, switch, case, for, while, dan perulangan do..while.
Variabel global
Variabel global didefinisikan dalam file program, di luar fungsi apa pun. Variabel ini dapat digunakan oleh fungsi apa pun di dalam file tersebut.
#include <stdio.h>
int a = 12;
void increment()
{
a++;
printf("a=%d \n", a);
}
int main(void)
{
increment();
a++;
printf("a=%d \n", a);
return 0;
}Output:
a=13
a=14 Di sini, variabel a terlihat oleh semua fungsi karena dideklarasikan secara global.
Tantangan
MudahCoba gunakan variabel global:
- Tentukan variabel global bernama
<strong>gv</strong>di luar fungsi apa pun dan beri nilai 20. - Ubah fungsi
incrementagar menggunakan variabel global ini. - Tulis fungsi baru
decrementyang mengurangi nilai variabel global dan mencetak nilainya. - Cetak nilai variabel di dalam fungsi
main.
Output-nya seharusnya seperti ini:
Global variable after increment: 21
Global variable after decrement: 20
Global variable in main: 20 Coba sendiri
#include <stdio.h>
// Definisikan variabel global bernama gv dan berikan nilai 20
// Ubah fungsi increment
void increment() {
printf("Global variable after increment: %d \n", gv);
}
// Definisikan fungsi decrement
int main(void) {
increment();
decrement();
// Cetak variabelnya
return 0;
}
Semua pelajaran di Fungsi dalam C
Latihan sendiri: Compiler C online