I'm just looking at an old C Compiler, the first C compiler I ever used, actually... And, I'll be honest, I didn't live with C long, I moved into C++ pretty quickly. So much so, I never actually read the this C Compiler's Documentation, here for posterity, is an exert...
Pre-defined Data Types
----------------------
Type sizeof Bits Range
---- ------ ---- -----
unsigned char 1 8 0 to 255
char 1 8 -128 to 127
enum 2 16 -32768 to 32767
unsigned short 2 16 0 to 65535
short 2 16 -32768 to 32767
unsigned int 2 16 0 to 65535
int 2 16 -32768 to 32767
unsigned long 4 32 0 to 4294967295
long 4 32 -2147483648 to 2147483647
<pointer> 4 32
float 4 32 (+-)3.4E-38 to (+-)3.4E+38
double 10 80 (+-)3.3E-4932 to (+-)1.2E+4932
long double 10 80 (+-)3.3E-4932 to (+-)1.2E+4932
Zeiger 4 32 0 to 4294967295
I have never heard of the "Zeiger" type, it's simply an unsigned 32 bit integer, but where does that name come from?
It's a German word, meaning pointer or hand, so I can only assume it's a pointer to some memory location and the machine this compiler is for, if I recall correctly had a 4 megabyte maximum address space, plus 64K of addressable ROM. So a Zeiger would be useful to parse over any location in both, however it's not clearly stated in the information.
Zeiger is a reserved word in this compiler, and yet it purports to be ANSI compliant... Hmmm.... Thoughts as ever in the comments below.