Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: grammar touchups in enum constant section

...

Enumeration Constants

Enumeration constant constants can be used to represent an integer constant expression that has a value representable as an int. Unlike const-qualified objects, enumeration constants do not require allocated consume memory. No storage is allocated for the value so it is not possible to take the address of an enumeration constant.

Code Block
enum { max = 15 };
int a[max]; /* OK outside function */
const int *p;

p = &max; /* error: '&' on enum constant */

Enumeration constants do not allow the type of the value to be specified. An enumeration constant whose value can be represented as an int is always an int.

...

Macro names do not observe the scope rules that apply to other names. Consequently, macros might substitute in unexpected unanticipated places with unanticipated unexpected results.

Object-like macros do not consume memory, and consequently, it is not possible to create a pointer to one. Macros do not provide for type checking, as they are textually replaced by the preprocessor.

...