Standart C Programlama Dili


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.