[an error occurred while processing this directive]

HP OpenVMS Systems

C Programming Language
Content starts here dec_c_help.HLP

const

The const data-type qualifier restricts access to stored data. If you declare an object to be of type const, you cannot modify that object. You can use the const data-type qualifier with the volatile data-type qualifier or with any of the storage-class specifiers or modifiers. The following example declares the variable x to be a constant integer: int const x;

volatile

The volatile data-type qualifier prevents an object from being stored in a machine register, forcing it to be allocated in memory. This data-type qualifier is useful for declaring data that is to be accessed asynchronously. A device driver application often uses volatile data storage. Like const, you can specify the volatile data-type qualifier with any of the storage-class specifiers or modifiers with the exception of the register storage class.

__restrict

The __restrict data-type qualifier is used to designate a pointer as pointing to a distinct object, thus allowing compiler optimizations to be made.

__unaligned

This data-type qualifier is used in pointer definitions, indicating to the compiler that the data pointed to is not properly aligned on a correct address. (To be properly aligned, the address of an object must be a multiple of the size of the type. For example, two-byte objects must be aligned on even addresses.) When data is accessed through a pointer declared __unaligned, the compiler generates the additional code necessary to copy or store the data without causing alignment errors. It is best to avoid use of misaligned data altogether, but in some cases the usage may be justified by the need to access packed structures, or by other considerations.