使用 const 创建常量和使用 volatie 优化变量
C语言中使用 const 定义常量。
例如:
const INT a = 10;
此处如果添加a = 20;
,编辑器则会报错,因为此处 a 是只读的。
在编译过程中,由 const 定义的常量使用字符表存储,而不占用内存,提高了程序的效率。
注意:为了区别变量和常量,编程时常常使用大写字母来置顶常量的名称来提高可读性。
使用 volatile 定义一个常常需要更改的变量。使用 volatile 定义的变量会在编译器优化时更新,而不是读取在寄存器中的副本。
例如:
int data = 1,a,b;
a = data;
...
b=data;
a 在请求变量 data 时,data 的值被写到了寄存器中。但此时 data 是一个快速更新的值,在程序没有预料到的时候更改为新的值;而 b 请求 data 的值时,因为寄存器中有现成的 data 值,所以程序会直接将寄存器中过时的 data 值给 b ,因此程序可能出现错误。
volatile data a = 1;
int a,b;
a = data;
...
b = data;
但当使用 volatile 变量时,程序会重新读取 data 的值给 b ,所以能避免此类错误。
使用简短的数据类型名
有时候会遇到长数据类型名,例如 long long int ,不方便引用。此时可使用 typedef 来为 long long int 指定新数据类型名。
例如:
typedef int it;
it data1 =1; /* 使用名称定义为 it 的 int 型数据类型 */
it data2 =2;