1.变量的三个属性:作用域、链接属性和存储类型。这三个属性决定了一个变量的“可视性”(也就是它可以在什么地方使用)和“生命期”(它的值将保持多久)。
2.C语言有四种基本数据类型:整型、浮点型、指针和聚合类型(数组和结构体等)。其它各种类型都是由这四种基本类型的各种组合构成。
3.长整型至少应该和整型一样长,而整型至少应该和短整型一样长。
4.ANSI C声明如果对一个字符串常量进行修改,其效果是未定义的。
5.无法将一个字符串常量赋值给一个字符数组,因为字符串常量的直接值是一个指针,而不是这些字符本身。
6.signed关键字一般只用于char类型,因为其他类型在缺省情况下都是有符号数。至于char是否是signed,则因编译器而异。所以,char可能等于signed char,也可能等于unsigned char。浮点型比较简单,只有double和long double之分。
7.注意,编译器并不检查程序对数组下标的引用是否在数组的合法范围之内。
8.注意声明多个指针变量的方法:int *a, *p;
9.函数如果不显式地声明返回值的类型,它就默认返回整型。
10.你应该使用typedef而不是#define来创建新的类型名,因为后者无法正确地处理指针类型。如:typedef char * p; 把标识符p作为指向字符的指针类型的新名字。
11.int const *p;与int * const p;
前者是一个指向整型常量的指针,你可以修改指针的值,但是不能修改它所指向的值;而后者声明一个指向整型的常量指针,此时指针是常量,它的值无法修改,但你可以修改它所指向的整型的值。注意,const变量只能用于允许使用变量的地方。
12.如果内层代码块有一个标识符的名字与外层代码块的一个标识符同名,内层的那个标识符就将屏蔽外层的标识符,即外层的那个标识符无法在内层代码中通过名字访问。
13.extern声明的标识符不论声明多少次、位于几个源文件都表示同一个实体。static能够将变量或函数的作用域限制在所属源文件中。
阅读(675) | 评论(0) | 转发(0) |