[C语言学习笔记四]变量与系统的交互

使用 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;

你可能感兴趣的:([C语言学习笔记四]变量与系统的交互)