**Dizi elemanları ardışık hucrelerde saklanmaz**
Dizi,ayni tipteli verilere tek bir isimle erişmek için kullanılan bir kümedir.
Bir dizi bildirildikten sonra dizinin bütün elemanları bellekte ardışık olarak saklarnır.Buna göre bir diziyi dizi yapan ii temel özellik vardir.
1-Dizi elemanların bellekte (program çalıştığı sürece) sürekli biçimde bulunur
2-Dizi elemanların ayni türden değişikler olması
Dizilerin Bildirimi
Bir Dizi çok sayida değişken barındırdığından bunlari birbirinden ayırtetmek için indis adi verilerin bir bilgiye ihtiyaç vardır
c programlama dilinde başlangıç indisi her zaman 0'dır
Bir dizinin bildirim işlemin genel biçimi söyledir.
veritipidizi_adı[Eleman_sayisi];
int notlar[50];
notlar[0]=100
notlar[1]=75
notlar[2]=80
Dizilerin eleman sayılarını aşağıdaki gibi sembolik sabitlere belirtmek mümkündür
#define n 100
Bir dizinin bellekte kapladıgı alanın bayt cinsinden karşılığı sizeof operetörü ile öğrenilebilir
int a[5],b,c;
b=sizeof(a); /*Bellekte Kapladıgı alan:b=4*5=20 bayt*/
c=sizeof(a) /sizeof(int);/*Dizinin boyutu c=20/4=5 */
Diziler
dizilere başlangıç degeri verme
bir dizie başlangıç degerleri aşagıdaki gibi kısa atanabilir :
float kutla[5]= {8.471,3.683,9.107,4.739,3918};
int maliyrt[3]= { 25,72,94};
gelişmiş compilerlar [x] x'i ister .
ms dos gibi düşük kompaylırlar istemez.
bir diziin uzunluğu belirtilmeden de başlangıç değeri atamak mümkündür
int[] = {100,200,300,400};
derleyici bu şekilde bir atama ile karşılaştığında , küme parantezi içindeki eleman sayısını hesaplar ve dizinin
o uzunlukta açıldığını varsayar.
----------------
#include <stdio.h>
int main(){
int notlar[10],i;
for(i=0;i<=10;i++){
printf("notlar dizisinin %d.elemanini giriniz:",i) ;
scanf("%d",¬lar[i-1]);
}
for(i=1;i<=10;i++)
printf("notlar dizisinin %d.elemani %d dir\n",i,notlar[i-1]);
return 0;
}
------------------------
#include <stdio.h>
int main(){
int boyut,i;
printf("dizinin kac elemanli olacagini giriniz");
scanf("%d",&boyut);
int notlar[boyut];
for(i=0;i<=boyut-1;i++){
printf("notlar dizisinin %d.elemanini giriniz:",i) ;
scanf("%d",¬lar[i-1]);
}
for(i=1;i<=boyut-1;i++)
printf("notlar dizisinin %d.elemani %d dir\n",i,notlar[i-1]);
return 0;
}
-------------------------
#include <stdio.h>
int main(){
int boyut,i;
printf("dizinin kac elemanli olacagini giriniz");
scanf("%d",&boyut);
int notlar[boyut];
i=1;
while (i<=boyut){
printf("notlar dizisinin %d.elemanini giriniz:",i) ;
scanf("%d",¬lar[i-1]);
i++;
}
i--;
while (i>=1){
printf("notlar dizisinin %d.elemani %d dir\n",i,notlar[i-1]);
i--;
return 0;}
}
---------------------
6 Kasım 2018 Salı
Kaydol:
Kayıt Yorumları (Atom)
0 yorum:
Yorum Gönder