1、const关键字

1 /* *************************************************
2 * 指向整型常量的指针,可以修改指针,但是不可修改指向的内容
3 * 赋值则要对指针赋值
4 * *************************************************/
5 int const *pci;
6 int i = 9;
7 pci = &i;
8 printf("--%d--\n",*pci);

2、作用域

代码块作用域:一对花括号之间,自动隐藏外层同名符号,在内层代码中无法通过名字直接访问。故要在嵌套代码中避免同名变量,非嵌套代码无此限制。

文件作用域:从其声明之处到源文件结尾都是有效的。函数名属于文件作用域,函数的形参则属于代码块作用域(即是函数的实现代码块内部有效)。#include则不限于此,其作用域包括所有包含的头文件的作用域

原型作用域:在函数原型声明的参数名字,尽在原型中有效。

函数作用域:goto语句标签。函数中标签必须唯一,语句标签也尽在一个函数内部有效。

3、一些警告的原因

编写不会产生任何结果的表达式

确信if语句的列表前后都有花括号

在switch语句中,执行以外从一个case到另一个case

4、提示编程

在没有循环体的循环结构中,用一个分号来表示空语句,并且独占一行

在每个switch结构中都要用default子句

5、自定义代码块区间,限定变量名的作用域

1 int const *pci;
2 int i = 100; // 外层i的声明
3   {
4 int i = 9; // 内层i的声明,隐藏了外部i=100
5 pci = &i;
6 }
7 printf("--%d--\n",*pci); // 输出 --9--

--The end

 posted on 2011-03-04 16:09  如是晴朗  阅读(180)  评论(0编辑  收藏  举报