C Programlama Sabitler ve Değişkenler

C Programlama Sabitler ve Değişkenler C Programlama Sabitler ve Değişkenler

C Programlama Sabitler ve Değişkenler, programın yürütülmesi sırasında değiştiremeyeceği sabit değerleri ifade eder. Bu sabit değerlere değişmez değerler de denir.

Sabitler, integer constant, floating constant, character constant, ya da string literal gibi temel veri türlerinden herhangi biri olabilir. Ayrıca numaralandırma sabitleri de vardır.

C Programlama Sabitler ve Değişkenler
C Programlama Sabitler ve Değişkenler

Sabitler, tanımlarından sonra değerlerinin değiştirilememesi dışında normal değişkenler gibi ele alınır.

C Programlama Sabitler ve Değişkenler: Tamsayı Değişmezleri / Integer Literals

Bir tamsayı değişmezi ondalık, sekizlik veya onaltılık bir sabit olabilir. Bir önek, taban veya sayı tabanını belirtir: onaltılık için 0x veya 0X, sekizlik için 0 ve ondalık için hiçbir şey.

Bir tamsayı değişmezi, sırasıyla işaretsiz ve uzun için U ve L’nin birleşimi olan bir son eke de sahip olabilir. Son ek büyük veya küçük harf olabilir ve herhangi bir sırada olabilir.

İşte tamsayı değişmezlerinin bazı örnekleri:

Aşağıda, çeşitli tamsayı değişmezlerinin diğer örnekleri verilmiştir:

C Programlama Sabitler ve Değişkenler: Floating-point Değişmezleri

Bir floating-point değişmezinin bir tamsayı kısmı, bir ondalık noktası, bir kesir kısmı ve bir üs kısmı vardır. Floating-point ya ondalık biçimde ya da üstel biçimde temsil edebilirsiniz.

Ondalık biçimi temsil ederken, ondalık noktayı, üssü veya her ikisini de eklemelisiniz; ve üstel formu temsil ederken, tamsayı kısmı, kesirli kısım veya her ikisini de dahil etmelisiniz. İmzalı üs e veya E ile tanıtılır.

İşte floating-point değişmezlerin bazı örnekleri:

Karakter Sabitleri

Karakter değişmezleri tek tırnak içine alınır, örneğin ‘x’, char türündeki basit bir değişkende saklanabilir .

Bir karakter değişmezi, düz bir karakter (örneğin, ‘x’), bir kaçış dizisi (örneğin, ‘ ’) veya bir evrensel karakter (örneğin, ‘\u02C0’) olabilir.

C’de, önüne ters eğik çizgi geldiğinde özel anlamı temsil eden belirli karakterler vardır, örneğin yeni satır (
) veya sekme ( ).

Kaçış dizisiAnlam
\\ karakter
\’‘ karakter
\”“karakter
\?? karakter
\aUyarı veya zil
\Bgeri al
\FForm besleme
 Yeni satır
 Satırbaşı
\TYatay sekme
\vDikey sekme
\ooooBir ila üç basamaklı sekizli sayı
\xhh . . .Bir veya daha fazla basamaktan oluşan onaltılık sayı

Birkaç kaçış dizisi karakterini gösteren örnek aşağıdadır:

Yukarıdaki kod derlendiğinde ve çalıştırıldığında, aşağıdaki sonucu üretir:

Merhaba Dunya

Dize/String Değişmezleri

Dize değişmezleri veya sabitleri çift tırnak “” içine alınır. Bir dize, karakter değişmezlerine benzer karakterler içerir: düz karakterler, kaçış dizileri ve evrensel karakterler.

Uzun bir satırı, dize değişmezlerini kullanarak ve beyaz boşluklar kullanarak ayırarak birden çok satıra bölebilirsiniz.

İşte bazı dize değişmezleri örnekleri. Her üç form da aynı dizelerdir:

"devre, yakan"

"devre,yakan"

"devre, " "y" "akan"

Sabitleri Tanımlama

C’de sabitleri tanımlamanın iki basit yolu vardır –

  • #define önişlemcisini kullanma.
  • const anahtar sözcüğünü kullanma.

#define Önişlemcisi

Aşağıda verilen, bir sabiti tanımlamak için #define önişlemcisini kullanma biçimidir:

#define identifier value

Aşağıdaki örnek bunu ayrıntılı olarak açıklamaktadır:

Yukarıdaki kod derlendiğinde ve çalıştırıldığında, aşağıdaki sonucu üretir:

Alan : 50

const Anahtar Kelimesi

const degısken = deger;

Aşağıdaki örnek bunu ayrıntılı olarak açıklamaktadır:

Yukarıdaki kod derlendiğinde ve çalıştırıldığında, aşağıdaki sonucu üretir:

Alan : 50

Sabitleri büyük harfler ile tanımlamak her zaman daha kolay anlaşılır olmasına sebep olur. Bir sonraki yazımızda Depolama Sınıfları konusu inceleyeceğiz.

#define ve const Arasındaki Fark

Her ikisi de C’de sabitleri tanımlamak için kullanılsa da, #define ve const arasında önemli farklar vardır:

  • Tür Güvenliği (Type Safety): const ile tanımlanan sabitler belirli bir veri türüne sahiptir (örn. const int PI = 3;). Bu, derleyicinin tür kontrolü yapmasına olanak tanır. #define ise sadece bir metin değiştirme işlemidir ve tür bilgisi taşımaz.
  • Kapsam (Scope): const değişkenleri, normal değişkenler gibi blok kapsamında (scope) olabilirler (tanımlandıkları bloğa özel). #define ile tanımlanan sabitler ise tanımlandıkları yerden dosya sonuna kadar her yerde geçerlidir.
  • Derleme Süreci: #define bir önişlemci (preprocessor) komutudur. Derleme başlamadan önce koddaki tüm ilgili ifadeler değerleriyle değiştirilir. const ise normal bir değişken gibi derleme zamanında işlenir.

Genel olarak, tür güvenliği ve daha belirgin kapsam kuralları nedeniyle const kullanmak, #define kullanmaya göre daha modern ve güvenli bir yaklaşım olarak kabul edilir. Daha fazla ayrıntı için bu makaleyi okuyabilirsiniz.

Diğer C Programlama içeriklerine buradan erişebilirsiniz.

Yorum yapma özelliği, forum tarafından gelen istek sebebiyle kapatılmıştır. Lütfen tartışmalar ve sorularınız için topluluk forumumuza katılın.