SORU
21 ŞUBAT 2009, CUMARTESİ


&; Durağan" quot; C programında ne anlama geliyor?

static C kodu farklı yerlerde kullanılan kelime gördüm; C statik fonksiyon/sınıf gibi bu# uygulama nesneler arasında paylaşıldığı ()?

CEVAP
21 ŞUBAT 2009, CUMARTESİ


  1. Bir fonksiyon içinde static bir değişken çağırmaları arasında değerini tutar.
  2. Statik global bir değişken ya da işlev "" dosyası olarak ilan edildi . sadece görülür

(1) Eğer bir acemi iseniz fazla yabancı konudur, burada bir örnek:

#include <stdio.h>

void foo()
{
    int a = 10;
    static int sa = 10;

    a  = 5;
    sa  = 5;

    printf("a = %d, sa = %d\n", a, sa);
}


int main()
{
    int i;

    for (i = 0; i < 10;   i)
        foo();
}

Bu baskılar:

a = 15, sa = 15
a = 15, sa = 20
a = 15, sa = 25
a = 15, sa = 30
a = 15, sa = 35
a = 15, sa = 40
a = 15, sa = 45
a = 15, sa = 50
a = 15, sa = 55
a = 15, sa = 60

Bu fonksiyon çağırmaları arasında bazı devlet tutmak için gereken durumlar için yararlıdır, ve global değişkenleri kullanmak istemiyorum. Dikkat, ancak, bu özellik çok idareli kullanılmalıdır - kodu-güvenli iplik ve zor anlamak için yapar.

(2) yaygın olarak kullanılan bir "erişim kontrol" özelliği. Eğer varsa .c dosya Bazı uygulama işlevleri, genellikle ortaya çıkarır sadece birkaç "ortak" kullanıcılar için fonksiyonları. Onun fonksiyonların kullanıcı erişmek mümkün olmayacaktır böylece 5**, yapılmalıdır. Bu saklama, iyi bir uygulamadır.

Wikipedia alıntı:

C programlama dilinde, statik genel Değişkenler ile kullanılan ve. için kapsamı ayarlama fonksiyonları dosyası içeren. Yerel değişkenler, statik değişken saklamak için kullanılır statik olarak ayrılan bellek otomatik olarak ayrılmış yerine bellek. Dili yok iken ya da uygulanmasını dikte bellek türü, statik olarak ayrılan bellek genellikle veri olarak ayrılmıştır derleme program segment zaman, otomatik olarak süre ayrılmış bellek normalde. geçici bir çağrı yığını olarak uygulanan.

Daha fazla ayrıntı için here here bkz.

Ve ikinci sorunun cevabı, C gibi değil#.

C , ancak static aynı zamanda sınıf öznitelikleri (aynı sınıftaki tüm nesneler arasında paylaşılan) ve yöntemlerini tanımlamak için kullanılır. C sınıfı vardır Hayır, bu özelliği ile ilgisi yoktur.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jabari Johnson

    Jabari Johns

    18 Ocak 2008
  • jkimisyellow...ish

    jkimisyellow

    8 Temmuz 2009
  • TechBalance

    TechBalance

    12 HAZİRAN 2011