Data type specifiers and equivalents
This documentation generally uses the forms of the type specifiers listed in the following table rather than the long forms. It also assumes that the char
type is signed by default. Throughout this documentation, char
is equivalent to signed char
.
Type Specifier | Equivalent(s) |
---|---|
signed char 1 |
char |
signed int |
signed , int |
signed short int |
short , signed short |
signed long int |
long , signed long |
unsigned char |
— |
unsigned int |
unsigned |
unsigned short int |
unsigned short |
unsigned long int |
unsigned long |
float |
— |
long double 2 |
— |
1 When you make the char
type unsigned by default (by specifying the /J
compiler option), you can't abbreviate signed char
as char
.
2 In 32-bit and 64-bit operating systems, the Microsoft C compiler maps long double
to type double
.
Microsoft specific
You can specify the /J
compiler option to change the default char
type from signed char
to unsigned char
. When this option is in effect, char
means the same as unsigned char
, and you must use the signed
keyword to declare a signed character value. If a char
value is explicitly declared signed
, the /J
option doesn't affect it, and the value is sign-extended when widened to an int
type. The char
type is zero-extended when widened to int
type.
END Microsoft specific