C'de statik ve uçucu birlikte kullanabilir miyiz?
C'de statik ve uçucu birlikte kullanabilir miyiz?

Video: C'de statik ve uçucu birlikte kullanabilir miyiz?

Video: C'de statik ve uçucu birlikte kullanabilir miyiz?
Video: C++ Dersleri 49 - Statik Değişkenler 2024, Nisan
Anonim

Statik değişkenler, fonksiyon çağrıları arasında değerlerini korur. Uçucu değişkenler (bunun tersi değildir) statik ) NS kullanılmış bir değişken olduğunda kullanılmış hem bir ISR (kesme hizmeti rutini) içinde hem de dışında. Uçucu derleyiciye, değişkenleri bir CPUregister'da önbelleğe almak yerine her zaman RAM'den yüklemesini söyler.

Benzer şekilde, statik ve uçucuyu birlikte kullanabilir miyiz?

Olsa bile sen bir erişim statik birden çok iş parçacığı aracılığıyla değer, her iş parçacığı Yapabilmek yerel önbelleğe alınmış kopyasına sahip olun! Bundan kaçınmak için yapabilirsiniz değişkeni olarak bildir statik uçucu ve bu niyet global değeri her seferinde okumaya zorlayın. Yine de, uçucu uygun senkronizasyonun yerini tutmaz!

Benzer şekilde, neden C'de uçucu kullanıyoruz? C'nin uçucu anahtar kelime, bildirildiğinde bir değişkene uygulanan bir niteleyicidir. Derleyiciye, değişkenin değerinin herhangi bir zamanda değişebileceğini söyler - derleyicinin yakınında bulduğu kod tarafından herhangi bir işlem yapılmadan. Bunun yansımaları oldukça ciddi.

Bunu göz önünde bulundurarak, C'de statik uçucu ne anlama geliyor?

statik değişkenin kapsamını ifade eder. Değişken global ise, kapsamın bildirildiği kaynak dosyayla sınırlı olduğu anlamına gelir. Değişken bir işlev için yerelse, bu değişkeni tutmak için kullanılan belleğin uygulamanın statik olarak ayrılmış belleğinde olduğu anlamına gelir.

C'de volatile ile const kullanabilir miyiz?

Evet. Bir değişken Yapabilmek ikisi de ilan edilecek uçucu ve devamlı içinde C . Sabit değiştirici, değişkenin değerinin dahili program tarafından değiştirilmesine izin vermez. Ancak, bu değeri anlamına gelmez const değişken harici kod tarafından değiştirilmemelidir.

Önerilen: