2. Dizilerin Tanimlanmasi ve Deger Atama
Int a[10];
Seklinde bir diziyi tanimlayabiliriz. Bunu
daha genel bir kaliba dökersek.
<tip> <dizi adi> [<boyut>]; halini
alir. Birde boyutlarinin arttirilmis halini verelim.
<tip> <dizi adi>
[<boyut1>][<boyut2>][<boyut3>]....[<boyutn>]; n boyutlu
dizi:).
<tip>: Yukarida söylemis oldugumuz "int
DiziAdi[boyut]" olayidir.
<dizi adi>: Kurallara uygun herhangi
bir isim olabilir. Genellikle dizilerinizin amacina uygun isimler
kullaniniz.
[<boyut>]: Dizinin kaç eleman
içerdigini gösterir. 5 elemanli ise [5] seklinde yazariz.
Basta " int
a[10]; " almistik. Simdi bunu
degisik bir formda yazalim
const int boyut=10;
Int a[boyut];
Önce boyut adinda bir sabiti tanimladik ve
deger atadik sonrada bunu dizi içine çagirdik.
Dizilere Deger atama:
Bu yöntemleri madde madde verelim,
1. Duragan ve global (erisilen)
dizilerde yaratildiklari anda içerik otomatik olarak
belirlenebilir. Programin taniminda erisilen tüm degiskenler,
otomatik olarak sifir yapilir.
2. Duyuru sirasinda sabit degerler
belirtilerek belirlenebilir.
3. Programin çalismasi sirasinda
indisler kullanilarak her elemana tek tek veri kopyalanabilir.
1. maddenin örnegi
#include <iostream.h>
const int boyut=5;
int GlobalDizi[boyut];
main() {
//"satatic" yerel degiskende tanimlanmasina ragmen tüm program boyunca
//geçerlidir. Ancak sadece tanimlandigi fonksiyon tarafindan erisilebilir.
static int DuraganDizi[boyut];
for(int i=0; i<boyut;i++)
cout<<GlobalDizi[i];
return 0;
}
Programin çiktisinada göreceginiz gibi, dizi
aratilirken indislere ait eleman bloklari temizlenmis ve sifir
degerlerini almistir.
Burada bir konuya daha dikkat çekmek
istiyorum. Çok yaptigimiz hatalardan biri olarak da, dizi
duyurusunu yaparken belirttigimiz degerden fazla sayida deger
girmemizdir.
int DiziAdi[5]={1,8,9,5,4,6};Görmüs
oldugunuz gibi bes tane dedik ama alti tane yazdik. !!! hata !!!.
Bu tür hatalar için elimizde kullanabilecegimiz bir kalip var.
char DiskOkunmuyor[ ] = "Disk okunmuyor";
char DosyaYok[ ]= "Dosya Yok";
Bunu yaptigimizda derleyici, tüm degerleri
içerebilecek en büyük diziyi olusturur.
|