Açıkça belirtilmediyse, "boyut" un değişken olduğunu her zaman aklınızda bulundurun.
int i = 10;
Bazı sistemlerde derleyici tarafından 16 bitlik tamsayı, bazılarında ise 32 bitlik tamsayı (veya daha yeni sistemlerde 64 bitlik tamsayı) ile sonuçlanabilir.
Gömülü ortamlarda bu garip sonuçlarla sonuçlanabilir (özellikle bellek eşlemeli G / Ç ile çalışırken veya basit bir dizi durumu olarak kabul edilebilir), bu nedenle sabit boyutlu değişkenlerin belirtilmesi şiddetle tavsiye edilir. Eski sistemlerde karşılaşabilirsiniz
typedef short INT16;
typedef int INT32;
typedef long INT64;
Tasarımcılar, C99'dan başlayarak, esasen benzer tip metinleri kullanan stdint.h başlık dosyasını ekledi.
Windows tabanlı bir sistemde, stdin.h başlık dosyasındaki girişleri şu şekilde görebilirsiniz:
typedef signed char int8_t;
typedef signed short int16_t;
typedef signed int int32_t;
typedef unsigned char uint8_t;
Minimum genişlikli tam sayı veya tam genişlikli tam sayı türleri gibi bundan çok daha fazlası var, daha iyi bir anlayış için stdint.h'yi araştırmanın kötü bir şey olmadığını düşünüyorum.
bool_t
- daha önce hiç duymadım. C standardı_Bool
yerleşik bir tür olarak tanımlanır.bool
yalnızca siz#include <stdbool.h>
(genişleyen bir makro olarak_Bool
) tanımlanır.