# Constants

Be sure you understand the difference between a 'constant' and a declaration. A constant has a value that cannot be changed. For example:

    	1234
    	'x'
    	9.89
    	"String"

Constants are used to assign a value to a variable. E.G

    	int i;		/* declare a variable called 'i'	*/
    	i=1234;		/* assign the constant value 1234 to
    			 * the variable 'i'			*/
            i++;		/* Change the value of the variable.	*/

- Integer constants.
- Floating point constants.
- Character constants.
- String constants.

## Integer constants.

Interger constants can be expressed in the following ways.

    	1234	(decimal)
    	0xff	(Hexidecimal)
    	0100	(Octal)
    	'\xf'	(Hex character)

Examples of their use are:

    	int i=255;	/* i assigned the decimal value of 255	*/

    	i-=0xff		/* subtract 255 from i			*/

    	i+=010		/* Add Octal 10 (decimal 8)		*/

    			/* Print 15 - there are easier ways...	*/
    	printf ("%i \n", '\xf');

Integer constants are assumed to have a datatype of int, if it will not fit into an 'int' the compiler will assume the constant is a long. You may also force the compiler to use 'long' by putting an 'L' on the end of the integer constant.

            1234L           /* Long int constant (4 bytes)          */

The other modifier is 'U' for Unsigned.

            1234U           /* Unsigned int                         */

and to complete the picture you can specify 'UL'

            1234UL          /* Unsigned long int                    */

## Floating point constants.

Floating point constants contain a decimal point or exponent. By default they are double.

    	123.4
    	1e-2

## Chararacter constants.

Are actually integers.

    	'x'
    	'\000'
    	'\xhh'

    	escape sequences

## String constants.

Strings do not have a datatype of their own. They are actually a sequence of char items terminated with a \0. A string can be accessed with a char pointer.

An example of a string would be:

    	char *Str = "String Constant";

See the discussion on strings for more information.

## Also see:

- #define
- Strings

Top | Master Index | Keywords | Functions