3.1.2. Gösterge Değişkenleri Bildirimleri
Gösterge bildirimleri basittir.
int i, j;
bildirimi nasıl tamsayı değişkenleri tanımlarsa,
int *ig, *jg;
bildirimi de tamsayı tipindeki değişkenlere
göstergeler tanımlayacaktır. ig
ve jg
gibi gösterge
değişkenleri tamsayı değişkenlerinin adreslerini içerecektir. Örneğin:
ig = &i; jg = &j;
anlamlı atamalardır. Ancak
ig = j;
şeklindeki atama, j
adresini
ig
’ye koyacaktır ve ancak j
değişkeni içindeki
tamsayı değerinin bir adres olarak kullanılması gerektiği durumlarda işe
yarayabilir. C Standardına uygun derleyiciler böyle atamalar olduğunda sizi
uyaracaktır, çünkü değişkenlerin tipleri uymamaktadır.
Aynı şekilde,
double *dg;
double
’a bir gösterge
tanımlar. Hem ig
hem de dg
adres saklarlar. Fakat
neyin adresi? Derleyicinin bunu bilmesi gerekir. Bundan dolayı farklı tanımlar
yapmak zorundayız. Örneğin,
dg = &i;
derleyici tarafından kabul edilebilir, ancak anlamsızdır,
çünkü dg
, bir double
yerine bir tamsayıyı
gösterecektir. Derleyiciler bu tip yanlış atamalarda sizi uyaracaktır. Lütfen
bu uyarıları dikkate alın.