# 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.

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";

```