register的作用:
register修饰的变量,将该变量尽可能存放在CPU中的寄存器中。可省去CPU从内存抓取数据的时间,提高了运行效率。
register使用时注意事项:
(1):只能修饰局部变量,不能修饰全局变量。不能修饰函数。
(2):不能再用取地址抓取这个变量。(register修饰的变量,是将变量保存在CPU的寄存器中,而不在内存中,只有内存中才能取地址)
(3):只能修饰CPU能接收的数据类型。意味着寄存器变量是一单个变量,变量长度应该小于寄存器长度。
static的作用:
static修饰的变量存储在内存中全局数据区中的静态区;修饰局部变量,延长局部变量的生命周期,生命周期直到整个程序执行结束,但是不改变局部变量的作用域。修饰全局变量和函数,改变全局变量和函数的作用域。
static的作用:
(1):修饰全局变量,该变量只能被本文件调用,不能被别的文件调用。
(2):修饰函数,这个函数只能被本文件内被其他函数调用,不能被别的文件调用。