C++'da Typedef Yapısı

C Da Typedef Yapisi



C++ programlama dili, geliştiricilerin 'int', 'long' veya kullanıcı tanımlı yapı veri türleri gibi temel ilkel türler olabilen mevcut veri türlerinin takma adlarını oluşturmasına olanak tanıyan bir 'typedef' anahtar sözcüğü sunar. “typedef” anahtar sözcüğü yeni bir tür oluşturmaz. Bunun yerine mevcut türden bir takma ad (veya takma ad) oluşturur. 'Typedef' kullanımı kodu daha okunaklı hale getirebilir ve uzun tür adlarını tekrar tekrar yazmak için gereken enerji ve zamandan tasarruf sağlayabilir. Ancak program içerisinde çok fazla kullanılması özellikle büyük projelerde kodun kafa karıştırıcı olmasına neden olabilir. Bu yazımızda “typedef” ile bir yapının nasıl tanımlanacağını, kod satırının azaltılmasına nasıl yardımcı olduğunu, “typedef”in kullanımının ne olduğunu ve çok daha fazlasını açıklayıcı örnekler yardımıyla inceleyeceğiz.

C++'da Typedef Yapısını Anlamak

C++'da 'typedef', tüm programda takma ad olarak çalışan mevcut yerleşik veri türlerinin, işaretçilerin, yapıların ve kullanıcı tanımlı veri türlerinin yeni adlarını sağlayan bir anahtar kelimedir. Basitçe söylemek gerekirse, yerleşik veya kullanıcı tanımlı veri türlerine kendi kendini açıklayabilecek açıklayıcı adlar verir. Ayrıca kod satırlarının azaltılmasına ve karmaşık veri türlerinin basitleştirilmesine de yardımcı olur. Ancak daha önce de belirttiğimiz gibi “typedef” ifadesinin çok fazla kullanılması kafa karışıklığına yol açabileceği için önerilmez.

Yapı, bir yapıyı tanımlamak ve başlatmak için kullanılan başka bir anahtar kelimedir. C++'daki yapı, geliştiricilerin çeşitli veri türlerini veya değişkenleri tek bir yerde gruplamasına olanak tanıyan bileşik bir veri türü bildirimidir.







C++'da “struct” ve “typedef struct” aynıdır. Aynı şekilde çalıştıkları için “typedef struct” ile “struct” arasında pratik bir fark yoktur. C++'da bir sınıf, enum, birleşim veya yapı bildirildiğinde veya tanımlandığında, bunları dolaylı olarak 'typedef' olarak tanımlamak gereksizdir çünkü bunlar varsayılan olarak 'typedef'tir.



C++'da Typedef Yapısının Sözdizimi

“Typedef” yapısının sözdizimi, “typedef” içermeyen yapıyla aynıdır. Yalnızca “struct” anahtar sözcüğüyle birlikte “typedef”in açık bir tanımına ihtiyaç duyar. Aşağıdaki tam sözdizimine bakın:



typedef yapı {
< veri tipi > < değişken1 > ;
< veri tipi > < değişken2 > ;
< veri tipi > < değişken3 > ;
} < yapı_adı > ;

Yapı artık sadece kullanılarak tanımlanıyor. Bu yapı tipine ait birden fazla değişken tanımlayabiliriz. Aşağıdaki tanıma bakın:





< yapı_adı > değişken4, değişken5, değişken6 ;

Şimdi C++’daki “typedef” yapısının daha net ve daha iyi anlaşılması için bazı örnekleri inceleyelim.

Örnek 1:

C++'daki “typedef” yapısının ilk örneğinde, C++ projelerinde nasıl tanımlanabileceğini ve kullanılabileceğini açıklayan basit bir programı ele alıyoruz. Aşağıdaki kodu inceleyin ve ardından açıklamaya geçelim:



#include
kullanarak ad alanı std ;
yapı ondalık {
int 1 Aralık ;
int Aralık2 ; } ;
int ana ( ) {
yapı ondalık d ;
D. 1 Aralık = 10 ;
D. Aralık2 = 23 ;
cout << D. 1 Aralık << sonunda ;
cout << D. Aralık2 << sonunda ;
geri dönmek 0 ; }

Bu C++ kodunda ondalık bir yapı tanımlıyoruz ve bunun ana fonksiyon içerisinde kullanımını gösteriyoruz. Her kod satırına bir göz atalım.

Program, “#include ” gibi gerekli başlık dosyasının dahil edilmesi ve giriş/çıkış işlemleri için “std” ad alanının kullanılmasıyla başlar ve “std” ad alanını kapsama dahil eder. Daha sonra “decimal” isimli bir yapı tanımlanır. Yapının iki üyesi vardır: 'dec1' ve 'dec2', her ikisi de 'int' türündedir.

Ana fonksiyonda ondalık yapının bir örneği oluşturulur. Bu “d;” kullanılarak yapılır. beyan ondalık. Yapının iki üyesi var, dolayısıyla her ikisine de “d” örneğini kullanarak erişiyoruz. Daha sonra “dec1” ve “dec2” değerlerine “d.dec1” ve “d.dec2” tanımı kullanılarak sırasıyla 10 ve 23 atanır. Son olarak “dec1” ve “dec2” değerleri “cout” kullanılarak konsola yazdırılır. Program aşağıdaki çıktıları verir:

Verilen çıktı anlık görüntüsü, ana işlev içinde iki ondalık sayıyı depolamak ve işlemek için 'decimal' adlı basit bir 'typedef' yapısının nasıl kullanıldığını gösterir. “Typedef” yapısı, bir C++ programında ilgili verilerin daha iyi organize edilmesine ve yönetilmesine olanak tanır.

Örnek 2:

Daha önce anlattığımız örnekte yapıda sadece tek tip veri verilmektedir. Şimdi bir yapıda birden çok veri türünü tanımlayalım ve “typedef”in kod satırlarını azaltmada ve kodun karmaşıklığını basitleştirmede nasıl yardımcı olabileceğini görelim. Kod aşağıda referans olarak verilmiştir:

#include
kullanarak ad alanı std ;
typedef yapı sözlük {
int İD ;
dize adı ;
uzun rulo sayısı ;
karakter sınıf adı ;
} dikte etmek ;
int ana ( )
{
verileri dikte etmek ;
veri. İD = yirmi ;
veri. isim = 'Kalsoom' ;
veri. rulo sayısı = 123456789 ;
veri. sınıf adı = 'D' ;
cout << 'Adayın kimliği = ' << veri. İD << sonunda ;
cout << 'Adayın adı = ' << veri. isim << sonunda ;
cout << 'Adayın rollnum'u = ' << veri. rulo sayısı << sonunda ;
cout << 'Adayın sınıf adı = ' << veri. sınıf adı << sonunda ;
geri dönmek 0 ;
}

Önceki örnekte olduğu gibi bu program da “#include ” gibi gerekli başlık dosyasını başlatmış ve temel giriş/çıkış işlemlerini gerçekleştirmek için “std” ad alanını kullanmıştır. Bundan sonra dört üyeden oluşan bir sözlük yapısı tanımlanır: id, name, rollnum ve classname. “typedef” anahtar sözcüğü bu yapı için bir “dict” takma adı oluşturur. Bu takma ad, yapının struct sözlüğü yerine basitçe 'dict' olarak anılmasına olanak tanır.

Şimdi ana fonksiyonda ilk olarak “dict” adlı yapı sözlüğünün bir örneğini “dict” takma adı görevi gören bir veri olarak tanımlıyoruz. Değerler, aşağıdaki ifadeler kullanılarak yapının her bir üyesine atanır:

veri. İD = yirmi ;
veri. isim = 'Kalsoom' ;
veri. rulo sayısı = 123456789 ;
veri. sınıf adı = 'D' ;

Gördüğünüz gibi bu değerler farklı türlerdedir: int, string, long ve char. “cout” deyimini kullanarak tanımlı tüm değerleri konsola yazdırıyoruz. Aşağıdaki anlık görüntüde programın çıktısını görelim:

Çıktı ekran görüntüsü, bir yapı için takma ad oluşturmak amacıyla birden fazla veri türü içeren yapıyla birlikte 'typedef' kullanımını açıkça göstermektedir. C++ programının tamamındaki yapılarla çalışmanın daha kısa, okunabilir ve daha basit bir yolunu sağlar.

Çözüm

C++'daki 'typedef' yapısını özetlemek gerekirse 'typedef', C++'ta ilkel, yerleşik veya kullanıcı tanımlı veri türlerinin takma adlarını oluşturmak için kullanılan bir anahtar kelimedir. 'struct' anahtar sözcüğüyle eşleştirilen 'typedef', kodun kısalığını ve netliğini artırmak için güçlü bir araçtır. “Typedef” tanımı genellikle kod satırlarının ve hafıza alanlarının azaltılmasına yardımcı olur. Ancak ne kısa ne de uzun, karmaşık projelerde hiçbir programda çok fazla “typedef” kullanımı belirsizlik yaratabileceği için önerilmez. Bu makalede, C++ programlarında “typedef”in çalışmasını, uygulanmasını ve kullanımını anlamak için basit örnekler yardımıyla “typedef” yapısını inceledik.