POINTER
Pointer, bir değişkenin adresini içeren değişkendir.
İnt x,y İnt *pi
pi = &x
y = *pi
x değişkeninin adresi pi pointer ine atanır Pi şimdi x değişkeninin adresine sahiptir ve x değişkenini gösterir
Pi ye atanan adresin belirttiği hafıza alanındaki değer y değişkenine atanır.
x in içeriği
&x
örnek
İnt x,y İnt *pi
x = 10 pi = &x
y = 10
10
&x (1,245,060)
Statik bellek, değişkenin sadece İçeriği değişmekte, fakat bellekteki Konumu sabit kalmakta
&pi (1245064)
(pi nin içeriği) = 10)
y = *pi *pi
Dinamik bellek, pointer bilgisi değiştirilerek belleğin değişik kısımlarına ulaşmak
mümkündür
pi (1245060 in içeriği)
DİZİLER
İnt x[6]
x[0] x[1] x[2] x[3] x[4] x[5]
&x
y[0][0] y[0][1] y[0][2] y[1][0] y[1][1] y[1][2]
&y
İnt y[2][3]
y[0][0] y[0][1] y[0][2]
y[1][0] y[1][1] y[1][2]
0 1
0 1 2
&y
TİP DÖNÜŞÜMLERİ
• Bir tipe sahip bir değerin farklı tipe sahip bir değişkene atanmak istendiği zaman
• Bir ifadede operatör tarafından değerlerin işlenmesi sırasında
• Bir değerin bir fonksiyona arguman olarak geçmesi sırasında
Genel Aritmetiksel Dönüşümler
İnt ( 2 bayt)
Unsigned int ( 2 bayt)
long ( 4 bayt)
Unsigned long ( 4 bayt) double ( 8 bayt)
Long double ( 10 bayt)
Char
short int
Unsigned char
Unsigned short Unsignet int
float double
örnek1
char ch; int i; float f; double d, long double ld
Sonuç = ( ch * i ) + ( f / d ) – ( f + i ) + ld
int int
double
double double
double
double
double
Long double
örnek2
long l;
Unsigned char uc;
İnt i,
Float x;
x = l + uc * i;
• uc unsignet int e donuşür
• i unsigned int e dönüşür.
• (uc*i) sonucu long tipine dönüşür. Toplama yapılır ve sonuç long tipindedir.
• long tipindeki sonuç float a dönüşerek x e atanır
örnek3
İnt a=10, b = 3, float x;
x = a / b;
int int float int
3.000000
Uygulama
1. ders4.c yi kullanarak x ve pi nin adreslerini ekrana yazdiriniz.
2. int x[2][2] tipinde bir dizi tanımlayınız ve dizinin her matrisine 2 nin kuvvetlerini (2,4,8,16)
atayarak bunları ekrana yazdırınız.
3. Tıp dönüşümleri ile ilgili verilen 3 örneği göz önünde bulundurarak birer örnek program yapiniz ve sonuçları ekrana yazdırınız.
Çıkış Tip karakterleri
Short int Long int long float Long double
%hd %ld %le %Le
%hi %li %lE %LE
%ho %lo %lf %Lf
%hx %lx %lg %Lg
%hX %lX %lG %LG