MEMORY MODELLERİ

MEMORY MODELLERİ

 

Tiny   : Code + data + stack aynı 64 K lık segment te

Small          : Code için 64 K, data + stack ayrı 64 K lık segment

Medium : Code için far pointer ( yani 1 MB code) , data 64 K ( data kullanmayan uzun programlar)

Compact: Medium un tersi. ( çok data kullanan kısa programlar)

Large         : Code için 1 MB, data için 1 MB

Huge : Large ile aynı fakat static data 64 K dan fazla olabilir.

 

Etiketler:

EK B. DİNAMİK VERİ YAPILARI

EK B.  DİNAMİK VERİ YAPILARI

Self-referential structure : üye, tanımlı olduğu yapıya bir işaretçi

struct yapi {
char   adi[21];
struct yapi *ptr;
};

B.1 Sıralı Bağlı Liste
….

Örnek B.1: Sıralı bağlı listenin gerçekleştirilmesi.

#include <stdlib.h>
#include <string.h>
struct listyapi {
char   adi[21];
struct listyapi *sonraki;
};
typedef struct listyapi listnode;
typedef listnode *listptr;
listptr headnode;   /* Herzaman listenin baţýný gösterir */
void seeklist(char *searchthis, listptr *prevnode)
{
listptr c;
c = headnode;
*prevnode = c;
while ((c->sonraki != NULL)) {
c = c->sonraki;
if (strcmp(c->adi, searchthis) >= 0) break;
*prevnode = c;
}
}


Yazının devamını okuyun »

Etiketler:

12. KÜTÜKLER

12. KÜTÜKLER

12.1 TEXT Kütükler
(sıralı erişim, ascii, metin)

Kütük(file): Bilgilerin diskte saklanış biçimi.
Text kütüğü :
- karakterlerden oluşur.
- her satırın sonunda satır sonunu gösterir özel karakter ‘\n’  vardır.
- kütüğün sonunda kütük sonunu gösterir özel karakter ‘eof’ vardır.

Örnek:
Birinci satır<\n>
Bu da ikincisi<\n><eof>
Diskte satırlar peşpeşedir. İlk satırdaki <\n> karakterinden hemen sonra ikinci satırın ilk karakteri gelir.

Kütüklerin Kullanımı
Bir kütüğü kullanmadan önce iki işlemim yapılması germektedir. Kütük ile ilgili işaretçinin tanımlanması ve kütüğün açılması.

Tanımlı FILE tipinde işaretçi değişken tanımlayarak ilk işlem gerçekleştirilir.
FILE *kp;           /*FILE yapısı stdio.h içerisinde tanımlı */

İkinci aşamada kütük açma deyimi kullanılır.
kp = fopen(kütük adı, mod)

kütük adı : açmak istediğimiz kütüğün adı (string).  Büyük - küçük harf ayrımı yok.
mod        : kullanım amacı (string). Okuma, yazma değişiklik …
r     :  okumak için
w    : yazmak için. Kütük yok ise oluşturulur, var ise içeriği silinir.
a     : eklemek için. Kütük yok ise oluşturulur , var ise sondan itibaren yazılır
r+   : Var olan bir kütüğü okumak ve yazmak için
w+ : Okumak ve yazmak için yeni bir kütük oluştur. Dosya var ise içeriği silinir.
a+  : Eklemek için. Okuma ve yazma yapılabilir. . Dosya yok ise oluşturulur..

Örnek 12.1.1 : Kütüğe yazma

Yazının devamını okuyun »

Etiketler:

11. Grafik

11. Grafik

Basit grafik işlemleri nasıl gerçekleştirilir (sorumlu değiller).

Normal çalışma anında text ekranda (25, 80) boyutlarında.
* void textbackground(int newcolor);              : alt zemin rengi
* void textcolor(int newcolor);                        : yazı rengi
* void textattr(int newattr);  8 bitlik sayı. hem alt zemin hem de yazı rengi
verilir Bbbbffff (B = blink)
* void highvideo(void);  Yazı parlaklığı
* void lowvideo(void);
* void normvideo(void);

Bu işlevler doğrudan ekrana yazan deyimlere yöneliktir (cprintf, cput)

#include <conio.h>
main()
{
int i;
textbackground(BLACK);
clrscr();
for (i=0; i<=15;i++) {
textcolor(i);
cputs(”HÜSEYİN PEKTAŞ\r\n”);
}
getch();
}

Grafik çizimi için bilgisayarın grafik modunda olması gerekir.

/*

Yazının devamını okuyun »

Etiketler:

10. Daha Önce Geçmeyen Konular

10.  Daha Önce Geçmeyen Konular

Deyimler

continue: Döngünün herhangi bir satırında iken, bir sonraki döngü admını geçilmesini sağlar.
Örnek 10.1:

#include <stdio.h>
int main()
{
int i; 
for(i = 1 ; i < 10 ; i++)

   {

      if (i == 5)

         break;

      printf(”%d\n”, i);

   }

 
Yazının devamını okuyun »

Etiketler: