声明区域 C语言中名字的声明区域declarative region是指一个名字在程序文本中可能有效的最大的区域在这个区域中未受限定的该名字绑定到同一个实体 例如 int j   int main  int i  j j j    名字j被声明了两次并被使用了两次第一个被声明的j的声明区域是整个例子程序第一个j的潜在作用域potential scope在这个名字被声明处之后并持续至程序的末尾但第一个j的实际作用域应排除逗号与右花括号之间的程序区域第二个被声明的j在分号之前的那个j的声明区域是一对花括号与括起来的整个程序区域也即main函数的函数体但第二个j的潜在作用域应排除名字i的声明第个j的实际作用域与它的潜在作用域相同 由C语言标准中提供的上述示例程序及其说明可以得出结论名字的声明区域是它可能保持有效的最大的程序结构如整个编译单元整个命名空间一对花括号与括起来的整个语句块整个函数体甚至包括函数的形参列表类定义包括成员函数的定义等等