CodeBlanks Logo Icon CodeBlanks

Değişken kapsam

  • C kursu
  • Başlangıç
  • Ders 10/116
  • 4 dk

Yerel ve global değişkenlerin kapsamını öğrenirsin.

Değişken kapsam

Bir değişkenin kapsamı, onun görülebildiği kod bölgesidir. C'de her { } bloğu kendi kapsamını oluşturur. Bir blok içinde tanımlanan değişken blok dışında görülmez:

{
    int x = 5;
}
printf("%d", x);  // hata

Buna blok kapsamı denir. Dışarıda tanımlanan değişkenler ise içeride görülür; bu da içeriğin dıştaki değeri gölgeleyebilmesine yol açar.

Yerel ve global

C'de iki temel kapsam türü vardır:

  • Yerel: bir fonksiyon ya da blok içinde tanımlanır; sadece orada görülür
  • Global: tüm fonksiyonların dışında tanımlanır; her yerden görülür

Aynı adlı yerel bir değişken, globali gölgeleyebilir. Bu karışıklığa yol açtığı için aynı adı yeniden kullanmaktan kaçının.

Uygulama Global değişken kullan

int counter global değişkenini 0 değeriyle tanımla. main içinde counter = counter + 1; yap ve printf ile %d kullanarak yazdır.

Başlangıç kodu

main.c
#include <stdio.h>

// global counter tanımla

int main(void) {
    // counter değiştir ve yazdır
    return 0;
}

Örnek çözüm

main.c
#include <stdio.h>

int counter = 0;

int main(void) {
    counter = counter + 1;
    printf("%d", counter);
    return 0;
}

Beklenen çıktı

1

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Bloğun içinde tanımlanan değişken

  • Program boyunca görülür
  • Yalnızca dosyanın başında görülür
  • Yalnızca o bloğun içinde görülür Doğru cevap
  • Hiçbir yerde görülmez

Açıklama: Blok içinde tanımlanan değişken yalnızca o blok içinde görülür.

2 İç blok açılışı

Soru
if (x > 0) ____
    int y = 1;
}
Cevap
if (x > 0) {
    int y = 1;
}

Açıklama: { ile blok açılır ve içine yeni değişken tanımlanabilir.

3 Kapsam türlerini eşleştir

Kavram Anlamı
Yerel Fonksiyon içi
Global Fonksiyon dışı
Blok Süslü parantez
Gölgeleme İçtekini örtr

Başlangıç bölümündeki tüm dersler