Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Diziler Adres Kavramı Nesnelerin Adresleri sizeof Operatörü Dizi Kavramı ve Bildirimi Dizi Elemanlarına İlk Değer Verilmesi gets, puts fonksiyonları.

Benzer bir sunumlar


... konulu sunumlar: "Diziler Adres Kavramı Nesnelerin Adresleri sizeof Operatörü Dizi Kavramı ve Bildirimi Dizi Elemanlarına İlk Değer Verilmesi gets, puts fonksiyonları."— Sunum transkripti:

1 Diziler Adres Kavramı Nesnelerin Adresleri sizeof Operatörü Dizi Kavramı ve Bildirimi Dizi Elemanlarına İlk Değer Verilmesi gets, puts fonksiyonları

2 Adres Kavramı Adres hem donamım hemde yazılıma ilişkin bir kavramdır. Donanımsal olarak bellekte yer gösteren bir sayıdan ibarettir. Mikroişlemci bellekteki bir bölgeye ancak o bölgenin adres bilgisiyle erişebilir.

3 Adres Kavramı Bellek bölgesindeki yerini göstermekle kalmaz, tür bilgisini de verir. Bellekteki her bir byte diğerinden farklı bir adresle temsil edilir.

4 Nesnelerin Adresleri Her nesne bellekte yer kaplar ve bir adrese sahiptir. Nesnelerin adresleri, derleyici ve işletim sistemi birlikte karar verir.

5 Nesnelerin Adresleri Nesnelerin adresleri ; program yüklenmeden önce kesin olarak bilinemez programcı tarafından da önceden tespit edilemez. Programcı, nesnelerin adreslerini ancak çalışma sırasında (run time) öğrenebilir.

6 sizeof Operatörü Bir nesnenin ya da veri türünün bellekte byte cinsinden kapladığı alanın belirlenmesini sağlayan operatördür. İki biçimde kullanılır 1.sizeof(nesne ismi) 2.sizeof(tür) Fonksiyonların geri dönüş değerleri, bellekte ne kadar byte yer kapladığını gösterir.

7 #include int main() { char c; short s; int i; long l; float f; double d; long double ld; int array[ 20 ]; /* 20 tane int dizi elemanı yaratılıyor */ int *ptr = array; /* gösterici dizisi yaratılıyor */ printf( " sizeof c = %d\t sizeof(char) = %d" "\n sizeof s = %d\t sizeof(short) = %d" "\n sizeof i = %d\t sizeof(int) = %d" "\n sizeof l = %d\t sizeof(long) = %d" "\n sizeof f = %d\t sizeof(float) = %d" "\n sizeof d = %d\t sizeof(double) = %d" "\n sizeof ld = %d\t sizeof(long double) = %d" "\n sizeof array = %d" "\n sizeof ptr = %d\n", sizeof c, sizeof( char ), sizeof s, sizeof( short ), sizeof i, sizeof( int ), sizeof l, sizeof( long ), sizeof f, sizeof( float ), sizeof d, sizeof( double ), sizeof ld, sizeof( long double ), sizeof array, sizeof ptr ); return 0; } szfoper.c programı

8 “szfoper.c” programı ekran çıktısı

9 Dizi Kavramı ve Bildirimi Bellekte sürekli bir biçimde bulunan aynı türden nesnelerin oluşturduğu kümeye dizi diyoruz. İki temel özelliği var 1.Elemanların bellekte sürekli bir biçimde bulunması 2.Elemanların aynı türden nesneler olması

10 Dizi Kavramı ve Bildirimi Dizi bildirimi aşağıdaki gibi yapılır örnekler; char s[30]; /*s, 30 elemanlı, her elemanı karakter olan dizidir*/ int ogrenci_sayisi[50]; /*ogrenci_sayisi, 50 elemanlı, her elemanı int olan dizidir*/ double notlar[20]; /*notlar, 20 elemanlı, her elemanı double olan dizidir*/

11 Dizi Kavramı ve Bildirimi cbilgisayar\n char s[13]; int ogrenci_sayisi[13];

12 Dizi Kavramı ve Bildirimi Bildirim sırasında dizilerin eleman sayısı tamsayı türünden bir sabit ifadesiyle belirtilmek zorundadır. int x[n]; YANLIŞ, dizi uzunluğu sabit ifade olmalıydı. int x[30]; DOĞRU

13 Dizi Kavramı ve Bildirimi Dizilerde diğer nesneler gibi yerel ve global faaliyet alanlarına sahip olabilirler. Diziler, fonksiyonlara parametre olarak geçirilebilirler.

14 Dizi Elemanlarına İlk Değer Verilmesi ={s1,s2,…}; Örnekler; int a[10]={22, 23, 4, 9, 2, 2, 3, 4, 0, 10}; double kilo[3]={45.7, 69.3, 90.5}; char s[10]={‘c’, ‘ ’, ‘d’, ‘e’, ‘r’, ‘s’, ‘i’, ‘\0’}; Dikkat! Küme parantezi ; ile sonlandırılmıştır.

15 Dizi Elemanlarına İlk Değer Verilmesi Dizilerin tüm elemanlarına ilkdeğer verme zorunluluğu yoktur. int a[10]={22, 23, 4}; İlk üç elemana ilk değer verilmiştir. Bu değişken global bir değişkense elemanlar 0 değeri ile doldurulur. Eğer yerel değişken ise elemanlar hafızada bulunan rasgele sayılardır.

16 Dizi Elemanlarına İlk Değer Verilmesi Dizinin uzunluğundan fazla elemana ilk değer verilmesi HATADIR. int a[3]={22, 23, 4,5,6};/* HATA*/ Dizi elemanlarına ancak sabit ifadeler ile ilkdeğer verilebilir. int a[3]={x, y, 4};/* HATA*/ Dizilere ilk değer verilirken dizi uzunluğu hiç yazılmayabilir. int a[ ]={22, 23, 4,5,6};/* DOĞRU*/

17 gets, puts fonksiyonları gets fonkisyonu klavyeden girilen karakterleri diziye yerleştirdikten sonra dizinin sonuna ‘\0’ sonlandırıcı karakterini koyar. 10 elemanlı bir dizi açmışsanız, diziye en fazla 9 elemanı gets ile yerleştirebilirsiniz.

18 #include int main(void) { char dosya_ismi[128]; printf("Dosya ismi gir: "); gets(dosya_ismi); printf("%s \n", dosya_ismi); %puts(dosya_ismi);/*bunu da deneyin ve printf ile karsilastirin*/ return 0; } ornekgets.c programı

19 gets, puts fonksiyonları Puts bir karakter dizisinin içeriğini ekrana yazdırmak için kullanılır. Puts ve printf işlevsel olarak eşdeğerdir.

20 /*bir tamsayi dizisinde bulunan elemanlarin sayisal toplamini bulan programdir. */ #include int main(void) { int dizi[10]={20,30,80,55,100,60,80,90,10,60}; int toplam, k; for(k=0, toplam=0;k<10; ++k) toplam += dizi[k]; printf("toplam = %d\n", toplam); return 0; } diziornek.c programı


"Diziler Adres Kavramı Nesnelerin Adresleri sizeof Operatörü Dizi Kavramı ve Bildirimi Dizi Elemanlarına İlk Değer Verilmesi gets, puts fonksiyonları." indir ppt

Benzer bir sunumlar


Google Reklamları