C'deki Statik Değişken Hakkında Bilgi Edinin [Kodlama Örneği ile]

Yayınlanan: 2020-10-21

Programlama yolculuğunuzda, değişkenlerin çoğu üzerinde çalışmış olabilirsiniz. Bir değişkenin bildirilmesi boyutu, düzeni, bellekte depolanan değer aralığını ve ona uygulanacak işlemler kümesini belirlediğinden, herhangi bir programcı için çok önemli bir husustur. Bir programın manipüle edebileceği bir depolama alanına verilen addır. Bu yazıda C'deki en önemli değişkenlerden biri olan statik değişkeni tartışacağız .

C'deki statik anahtar kelime oldukça sık kullanılır. Çoğu programcı tarafından sıklıkla karıştırılan bir şey, yerel ve global değişkenlerin statiği nasıl etkilediğidir. Her durumda, static anahtar sözcüğü, verilerin nerede depolandığı ve program boyunca nasıl davrandığı açısından farklı çalışır. Statik bir anahtar kelimenin birincil kullanımları şunlardır:

i. Bir işlevdeki yerel değişken veya statik yerel değişken: Görünürlük, otomatik yerel değişkenlerle aynıdır.

ii. Bir modüldeki global değişken veya statik global değişken: Bir programın en üstünde bildirilir.

iii. Bir modül veya statik fonksiyondaki bir fonksiyon: Program boyunca bulunur.

iv. Üye değişkeni veya statik üye değişkeni: Bir sınıfın tüm örnekleri tarafından erişilir.

v. Bir yöntem veya statik yöntem: Bir sınıfın tüm örnekleri tarafından erişilir.

Her üç kullanım durumunu ve değişkenin depolama alanı ile nasıl değiştiklerini ve kodun kalitesini nasıl artırdıklarını inceleyeceğiz.

İçindekiler

Statik Değişken Nedir?

Programlamada, bir statik değişken , "statik olarak" tahsis edilen değişkendir; bu, ömrünün program çalışması boyunca olduğu anlamına gelir. 'Statik' anahtar sözcükle bildirilir ve değerini işlev çağrıları boyunca sürdürür.

Sözdizimi:

Statik bir değişkenin sözdizimi şöyledir:

statik veri_türü değişken_adı;

Statik Değişken Bildirimi

Statik bir değişken bildirildiğinde, bunun bir kopyası oluşturulur. Bunların yerel bir değişken yerine kullanılmalarının temel amacı, mevcut olduğu kapsamda atanan değeri korumalarıdır. Programcının, bir programın yeni kapsamında değişkeni tekrar tekrar başlatmasına gerek yoktur. Tüm program boyunca var.

Statik, genel olarak, herhangi bir veri türüne uygulanan bir depolama sınıfı belirtecidir. Derleyiciyi program kapsamındaki bir değişkeni veya işlevi sınırlamaya yönlendirir ve programın ömrü boyunca devam eder. Bu özellik, herhangi bir istenmeyen erişimi önleyen statik değişkenlerin programın geri kalanından gizlenmesine veya kapsüllenmesine izin verir. Geliştirici, bir modül içinde değişkenlere nasıl erişildiğini kontrol edebilir. Bu iyi bir programlama uygulamasıdır.

Okuyun: En İyi 130+ Java Mülakat Soruları ve Cevapları

Bir Programda Statik Değişken

· Tüm kodun yürütülmesi sırasında bellek alanında statik bir değişken kalır.

· Statik bir değişkenin varsayılan başlatma değeri, atanmamış olsa bile sıfırdır; bu, yerel bir değişkende durum böyle değildir.

· Statik değişkeni C'deki static anahtar sözcüğünü kullanarak başlatmak zorunludur, aksi takdirde bir hata döndürür.

· Statik değişken , yalnızca bir işlev çağrıldığında ilk kez başlatılır.

· Statik bir değişkende , statik bir değişkenin hafızası tahsis edilir.

· Global bir statik değişkene program dışında erişilemez.

C'de Statik Değişken Üzerine Temel Program

#include <stdio.h>

int ana()

{

printf(“%d”,fonk());

printf(“\n%d”,fonk());

0 döndür ;

}

int işlev()

{

statik int sayı=0;

say++;

dönüş sayısı;

}

Burada bu kodda, sayım değişkeni statik bir değişken olarak bildirilir . func() işlevinin her çağrısıyla, count değeri 1 olarak güncellenir. Sonraki işlev çağrısında, count değişkeni değeri 2 olur. Böylece, statik değişkenin değeri işlev çağrısında kalır.

Çıktı:

1

2

Yerel ve Statik Değişken Arasındaki Fark

Bir programda hem yerel hem de statik değişkenler birbirinin yerine kullanılır. İşte ikisi arasındaki bazı önemli farklar:

Ayırt Edici Noktalar Yerel değişken Statik Değişken
Değişken Anahtar Kelime Bildirimi 1. Otomatik bir değişken tarafından bildirilir, örneğin, int a = 1. 1. Statik bir değişken tarafından bildirilir , örneğin, static int a = 1.
Değişken Bildirimi 2. Fonksiyonun içinde bildirilir. 2. Fonksiyonun içinde veya dışında bildirilir.
Değişken Oluşturma 3. Bir fonksiyon her çağrıldığında oluşturulur. 3. Yalnızca 1. işlev çağrısı için oluşturulur ve aynı değişken sonraki çağrılar için kullanılır.
Değişken Başlatma 4. Bir fonksiyon her çağrıldığında başlatılır. 4. Bir programda yalnızca bir kez başlatılır.
Değişken Varsayılan Değer 5. Başlatılmamışsa, değişkende bir çöp değeri depolanır. 5. Başlatılmamışsa, 0 değeri varsayılan olarak statik olarak saklanır.
Değişken Sonlandırma 6. İşlev sona erdiğinde sona erer. 6. Bir fonksiyon içinde bildirilmişse, sadece o fonksiyondan erişilebilir. Kapsam bu işlevle sınırlıdır ve ömrü program sona erene kadardır. Fonksiyonun dışında bildirilirse, değişken global olacak ve dosyadaki herhangi bir fonksiyon tarafından erişilebilir olacaktır. Kapsam dosyadır, ancak kullanım ömrü program sona erene kadardır.

Bu tablo ile statik değişkenlerin neden yerel değişkenlere tercih edildiği açıktır .

Hem Yerel hem de Statik Değişken İçeren Kod

#include <stdio.h>

int ana() {

otomatik int a = -15;

statik int b = 5;

printf(“a otomatik değişkeninin değeri %d\n”, a);

printf(“ b statik değişkeninin değeri %d\n”,b);

if(a!=0)

printf(“Statik ve otomatik değişkenin toplamı %d\n”,(b+a));

0 döndür;

}

Program Çıktısı:

Otomatik değişkenin değeri -15

Statik değişkenin değeri 5'tir .

Statik ve otomatik değişkenin toplamı -10'dur

Ayrıca Okuyun: C Proje Fikirleri

Özet

Statik anahtar kelime, C programlamada sunduğu birçok özellik için yaygın olarak kullanılır. Ana kullanımı, bir fonksiyon veya modülde tanımlanan değişkenlerin kapsamını sınırlamaktır. Değişkenler ve işlevler, statik değişken kullanılarak harici programdan gizlenebildiğinden, geliştiriciler güvenliği deneyimleyebilir . Birçok modern nesne yönelimli dilde, static kullanımının yerini private ve public ifadeleri almıştır.

Daha fazla bilgi edinmek istiyorsanız ve sektör uzmanlarından mentorluğa ihtiyacınız varsa, tam Yığın Yazılım Geliştirme alanında upGrad & IIIT Banglore'un PG Diplomasına göz atın.

Geleceğin Kariyerine Hazırlanın

SEKTÖRDE GÜVENİLİR ÖĞRENME - SEKTÖR TANINMIŞ SERTİFİKA.
Bugün Kaydolun