Sun Studio 12: C User's Guide

2.1 Constants

This section contains information related to constants that are specific to the Sun C compiler.

2.1.1 Integral Constants

Decimal, octal, and hexadecimal integral constants can be suffixed to indicate type, as shown in the following table.

Table 2–1 Data Type Suffixes

Suffix  

Type  

u or U

unsigned

l or L

long

ll or LL

long long [The long long and unassigned long long are not available with -xc99=none and -Xc mode.]

lu, LU, Lu, lU, ul, uL, Ul, or UL

unsigned long

llu, LLU, LLu, llU, ull, ULL, uLL, Ull

unsigned long long

With the -xc99=all, the compiler uses the first item of the following list in which the value can be represented, as required by the size of the constant:

The compiler issues a warning if the value exceeds the largest value a long long int can represent.

With the -xc99=none, the compiler uses the first item of the following list in which the value can be represented, as required by the size of the constant, when assigning types to unsuffixed constants:

2.1.2 Character Constants

A multiple-character constant that is not an escape sequence has a value derived from the numeric values of each character. For example, the constant ’123’ has a value of:

0

’3’

’2’

’1’

or 0x333231.

With the -Xs option and in other, non-ISO versions of C, the value is:

0

’1’

’2’

’3’

or 0x313233.