Name spaces, Mikroc – ABL electronic PIC Microcontrollers PIC16 User Manual

Page 64

Advertising
background image

Name space is the scope within which an identifier must be unique. C uses four
distinct categories of identifiers:

Goto label names
These must be unique within the function in which they are declared.

Structure, union, and enumeration tags
These must be unique within the block in which they are defined. Tags declared
outside of any function must be unique.

Structure and union member names
These must be unique within the structure or union in which they are defined.
There is no restriction on the type or offset of members with the same member
name in different structures.

Variables, typedefs, functions, and enumeration members
These must be unique within the scope in which they are defined. Externally
declared identifiers must be unique among externally declared variables.

Duplicate names are legal for different name spaces regardless of scope rules.

For example:

int

blue = 73;

{

// open a block

enum

colors { black, red, green, blue, violet, white } c;

/* enumerator blue hides outer declaration of int blue */

struct

colors { int i, j; };

// ILLEGAL: colors duplicate tag

double

red = 2;

// ILLEGAL: redefinition of red

}

blue = 37;

// back in int blue scope

mikroC - C Compiler for Microchip PIC microcontrollers

mikroC

making it simple...

56

MikroElektronika: Development tools - Books - Compilers

page

NAME SPACES

Advertising
This manual is related to the following products: