Genellikle C'de, bilgisayara değişken bildirimindeki veri türünü söylememiz gerekir. Örneğin, aşağıdaki programda, X ve Y olmak üzere iki kayan nokta sayısının toplamını yazdırmak istiyorum.
#include<stdio.h>
main()
{
float X=5.2;
float Y=5.1;
float Z;
Z=Y+X;
printf("%f",Z);
}
Derleyiciye X değişkeninin türünü söylemem gerekiyordu.
- Derleyici türünü belirleyemiyor mu?
Xtek başına belirleyemiyor mu?
Evet, bunu yapabilirsem yapabilir:
#define X 5.2
Şimdi derleyiciye türünü söylemeden programımı yazabilirim X:
#include<stdio.h>
#define X 5.2
main()
{
float Y=5.1;
float Z;
Z=Y+X;
printf("%f",Z);
}
Bu yüzden C dilinin, veri türünü kendi başına belirleyebilen bir tür özelliğe sahip olduğunu görüyoruz. Benim durumumda Xşamandıra tipi olduğunu belirledi .
- Main () öğesinde bir şey bildirirken neden veri türünden bahsetmek zorundayız? Neden derleyici kendi üzerinde bir değişkenin veri türünü belirleyemiyor
main()o olduğu gibi#define.
#define X 5.2, Xbir değişken değil, bir sabittir, yani tam olarak 5.2bahsettiğiniz herhangi bir yerle önişlemci olarak değiştirilir X. Yeniden atayamazsınız X.
autogerçekten istediğinizi yapar). Öte yandan, kodunuzun ne yaptığını bildiğinizi düşünüyorsanız ve aslında başka bir şey yazdıysanız, bunun gibi statik yazım, büyük bir sorun haline gelmeden önce bir hata yakalar. Her dil bir dengeye sahiptir: statik yazma, tip çıkarımı, dinamik yazma. Bazı görevler için, fazladan yazma aslında buna değer. Diğerleri için bu bir israftır.
5.2a,doubleilk program çift değişmezleri yuvarlar, böylecefloathassas ikinci tur, 5.1 arka çift temsil ederken, daha sonra, yüzen olarak eklerdoubleve eklerdoublekullanılarak değeri 5.2doubleek, daha sonra bu hesaplama yuvarlarfloathassas . Yuvarlama farklı yerlerde gerçekleştiği için sonuç farklı olabilir. Bu, aksi takdirde özdeş bir programın davranışını etkileyen değişken türleri için sadece bir örnektir.