Birlik (Union) 1 Birlik (Union), enum, typedef

Benzer belgeler
ALGORİTMA VE PROGRAMLAMA II

enum bolumler{elektronik, insaat, bilgisayar, makine, gida};

enum, struct, union ve typedef Yapıları

Programlama Dilleri. C Dili. Programlama Dilleri-ders08/ 1

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta

BÖLÜM 11: YAPISAL VERİ TİPLERİ

Yrd. Doç. Dr. Caner ÖZCAN

Veri Yapıları. Amaçlar: Temel Veri Yapılarını Tanımlamalı Veri Yapılarını Veri Modeli ve Türlerini Öğreneceksiniz. İçindekiler:

Yrd. Doç. Dr. Caner ÖZCAN

BLM 112- Programlama Dilleri II. Hafta 4 İşaretçiler (Pointers)

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

YAPILAR (STRUCTURES)

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

ALGORİTMA VE PROGRAMLAMA II

DİZİLER-KATARLAR ALGORİTMA VE PROGRAMLAMA II

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Internet Programming II

BİLG Dr. Mustafa T. Babagil 1

Pointers (İşaretçiler)

ALGORİTMA VE PROGRAMLAMA II

Pointer Kavramı. Veri Yapıları

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

C++ Dersi: Nesne Tabanlı Programlama

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

C#(Sharp) Programlama Dili

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECİOĞLU 1

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi

Endüstri Mühendisliği Bölümü Bilgisayar Programlama Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları

Jval tipi. Genel veri yapılarını kullanacağımız zaman Jval den faydalanırız.önemli olanlar aşağıda mevcuttur:

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0

Genel Programlama II

Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi

Nesne Yönelimli Programlama

Diziler İndisli Değişkenler

Yrd. Doç. Dr. Caner ÖZCAN

Konular. Hafta 5 Veri Tipleri (Devam) BLG339 PROGRAMLAMA DİLLERİ KAVRAMI

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler

Dizi elemanları yukarıdaki gibi tek tek tanımlanabileceği gibi matematiksel ifadelerdeki diziler gibi de tanımlanabilir.

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

Bir dizinin boyutları sabittir ve kullanılmadan önce belirlenmelidir. Dizi boyutunu belirlemek için başka bir değişkende kullanabilirsiniz.

C Programlama Dilinde Değişkenler

Özyineleme (Recursion)

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

ALGORİTMA VE PROGRAMLAMA I

Değişkenler, içerisinde tek bir değer tutabilen yapılardır. Örneğin haftanın günlerini değişkenlerde tutmak istersek, her bir gün adı için bir

PROGRAMLAMAYA GİRİŞ DERS 2

Programlama Dilleri 1. Ders 4: Diziler

DİZİLER 5/4/2010. ENF-102 Jeoloji Giriş. Tek Boyutlu Diziler. Tek Boyutlu Diziler. Örnek. Örnek

HSancak Nesne Tabanlı Programlama I Ders Notları

Giriş. ENF102 Jeoloji

Yrd. Doç. Dr. Caner ÖZCAN

ALGORİTMA VE PROGRAMLAMA II

Dr. Fatih AY Tel: fatihay@fatihay.net

Her veri tipine yetecek ve ancak o kadar anabellek alanı ayrılır. Programcı, ana bellekte ayrılacak adresin büyüklüğünü bilerek değişkenlerini

C de Detaylı Üs Alma Programı. C# Dilinde Metot Tanımlama ve Yazdırma

8. İŞARETCİLER (POINTERS)

ALGORİTMA VE PROGRAMLAMA I

Değişkenler tanımlanırken onlara ne tür veriler atanabileceği de belirtilir. Temel veri türleri oldukça azdır:

Telefon Rehberi Uygulaması

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri

C PROGRAMLAMA D İ L İ

JAVADA DİZİ İŞLEMLERİ

BLM 112- Programlama Dilleri II. Hafta 5 İşaretçiler (Pointers)

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Struct VE GÖSTERİCİLER FONKSİYONLARDA STRUCT KULLANIMI Programlama dilleri hafta -

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ Published by Juan Soulié

BLM 111 ALGORİTMA VE PROGRAMLAMA I

Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II. Değişken Tanımlama Ve Akış Kontrol Deyimleri

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

Algoritma Geliştirme ve Veri Yapıları 2 Veri Modelleri. Mustafa Kemal Üniversitesi

void main() { int a[] = {1, 2, 3, 4, 5, 6}; int *p=&a[2]; int **pp=&p; printf("%d", **pp+2); }

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

YZM 2116 Veri Yapıları

Bölüm 6. Diziler (arrays) Temel kavramlar Tek boyutlu diziler Çok boyutlu diziler

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi

sayi=3 harf=a reelsayi=8.72 Bellek durumu 5. İşaretç iler (pointers)

C Programlama Dilininin Basit Yapıları

Programlama Dilleri 1. Ders 12: Belirleyiciler ve Niteleyiciler

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi

Yrd. Doç. Dr. Caner ÖZCAN

C++ Dersi: Nesne Tabanlı Programlama

Göstericiler (Pointers)

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

C++ Göstericiler (Pointer)

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

YZM 2105 Nesneye Yönelik Programlama

Diziler (Arrays) Çok Boyutlu Diziler

Okunabilir Kod Yazım Standartları: Şiir Gibi Kod Yazmak

Genel Programlama II

3 Sql Veri Tipleri. Veritabanı 1

Bilgisayar Programlama MATLAB

/*int sayi1, sayi2,toplam=0;

BLM 111 ALGORİTMA VE PROGRAMLAMA I

YZM 2105 Nesneye Yönelik Programlama

Length: metin uzunluğunu yada diğer bir deyişle dizi elaman sayısını döndürür.

Transkript:

Birlik (Union) Union birden fazla alanı temsil eder ve o alana ait en uzun alanın büyüklüğü kadar hafızada yer ayrilir. union [birlik adi] { değişken türü <değişken adı>; değişken türü <değişken adı>;... }; union dene{ int x; char t[10]; char y[5]; }k; 1 Birlik (Union), enum, typedef Bu tanıma göre x tamsayısı için bellekte 4 baytlık t değişkeni için 10 baytlık ve y değişkeni için 5 baytlık yer ayrılmıştır. En büyük değer olan 10 baytlık yer ayrılır.

Birlik (Union) Union lar bir hafıza parçasının farklı veritipleri tarafından kullanılabilmesini sağlar Tüm değişkenler tarafından kullanılan alan aslında ynıdır. Deklarasyonu Structure gibidir, ancak kullanımı tamamen farklıdır. union union_ismi{ ÜyedeğişkenTipi1üyeDeğişkenIsmi1; ÜyedeğişkenTipi1üyeDeğişkenIsmi1;. } nesneisimleri 2 Birlik (Union), enum, typedef

Birlik (Union) union union1{ char c; int i; float f; } unionnesne1; içinde 3 eleman bulunur: unionnesne1.c unionnesne1.i unionnesne1.f 3 değişken farklı tipte olsalar bile aynı hafıza adresini kullanırlar Bu nedenle birinde yapılan değişiklik tüm değişkenlere yansır Birbirinden bağımsız 3 değer tutulması mümkün 3 Birlik (Union), enum, typedef değildir.

Anonymous Unions (İsimsiz Birlikler) Sıradan Birlik içeren Structure struct { char baslik[50]; char yazar[50]; union { float dolar; int lira; } fiyat; } kitap; İsimsiz Birlik içeren Structure struct { char baslik[50]; char yazar[50]; union { float dolar; int lira; }; } kitapisimsiz; Eğer isimsiz bir birlik kullanılırsa bu birliğin elemanlarına direk olarak ulaşılabilir 2 kod arasındaki tek fark üye değişkenlere ulaşma şeklimizdir: Sıradan Birlik içeren Structure kitap.fiyat.dolar kitap.fiyat.lira İsimsiz Birlik içeren Structure kitapisimsiz.dolar kitapisimsiz.lira 4 Birlik!!!Dikkat: (Union), dolar enum, typedef ve lira değerlerinin içerisine farklı değerler yüklenemez!!!

5 Birlik (Union), enum, typedef Birlik (Union)

Struct ve Union Tanımda Hafızada Ayrılan Yer 6 Birlik (Union), enum, typedef Neden 8? Neden 4?

Struct ve Union Birlikte Kullanımı 7 Birlik (Union), enum, typedef

Struct ve Union Birlikte Kullanımı katalog.kitap.yazar char tipinde, içine yazılan 65 değeri A olarak okunuyor katalog.kitap.yazar içine kaydedilen AB karakterleri, integer olarak okunduğu zaman, 66(B) ve 65 (A) değerlerinin 2lik düzende 8bite karşılık gelen değerleri birleştirilir ve okunur: BA 01000010 01000001 8 Birlik (Union), enum, typedef 16961

Enum Değişkenin alabileceği değerlerin sabit olduğu durumlarda programı daha okunabilir hale getirmek için kullanılır. Genel yazım biçimi; enum tip_adı{değer_1, değer_2,..., değer_n} değişken_adı; tip_adı ve değişken adı; C++ dilinin isimlendirme kurallarına uygun olarak seçilmiş bir isimdir. 9 Birlik (Union), enum, typedef

Enum C++ ta enum türü diğer değişken türlerine göre ayrı bir türdür ve enum türünden değişkenlere ancak enum türünden sabitler atanabilir. Enum içinde değer atayabilirsiniz. Atadığınız ilk değerden itibaren ardışık değer atama değer atamasanız bile otomatik devam edecektir. enum para_birimi{tl=1, DOLAR, EURO} Burada; TL=1 DOLAR=2 EURO=3 değerlerini alacaktır. 10 Birlik (Union), enum, typedef

11 Birlik (Union), enum, typedef Enum

12 Birlik (Union), enum, typedef Enum

typedef C++ var olan değişken tiplerine kendi belirlediğimiz isimleri takmamıza izin verir. Var olan değişken tiplerine takma isim veriyoruz denebilir typedef var_olan_değişken_tipi bizim_verdigimiz_isim; Nerede kullanılabilir: Sıklıkla kullanılan değişken tiplerine takma isim koymak için Programın daha sonraki versiyonlarında belli değişkenler için kullanılan değişken tipinin değişme ihtimali varsa. Bu durumda program içinde birden çok yerde kullanılan değişken tipinin, her kullanıldığı yerde değil sadece typedef tanımlamasında değiştirilmesi yeterli olacaktır typedef char karakter; typedef char * kpointer; typedef int intdizi [50]; 13 Birlik (Union), enum, typedef

C++ dilinde program kodları bu deyimle tamamen Türkçeleştirilebilir. Yan taraftaki örnekte typedef için iki ayrı kullanım alanı tanımlanmıştır. typedef 14 Birlik (Union), enum, typedef

15 Birlik (Union), enum, typedef typedef