文件名称:全局变量及非静态全局变量的区别-复高斯分布的数学基础理论
文件大小:6.48MB
文件格式:PDF
更新时间:2024-06-28 07:07:07
嵌入式 Linux C
图 4.7 是静态全局变量及非静态全局变 量的区别示意图。 从以上分析可以看出,把局部变量改变 为静态变量后改变了它的存储方式即改变了 它的生存期。把全局变量改变为静态变量后 改变了它的作用域,限制了它的使用范围。 因此 static 这个说明符在不同的地方所起的 作用是不同的。 4.3.2 typedef typedef 可以称作为 C 语言的关键字,其作用是为一种数据类型定义一个新名字。这里的 数据类型包括内部数据类型(如 int,char 等)和自定义的数据类型(如 struct 等)。 其基本用法如下所示: typedef 数据类型 自定义数据类型 例如用户可以使用以下语句: typedef unsigned long uint32; 这样,就把声明标识符 uint32 作为无符号长整型的标志了,此后,用户就可以这样来定 义变量: uint32 a; 此句等价于: unsigned long a; 用户可以看到,在大型程序开发中,typedef 的使用非常广泛。使用 typedef 目的一般有 两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。 在嵌入式的开发中,由于涉及可移植性的问题,typedef 的功能就更引人注目了。通过 typedef 可以为标识符取名为一个统一的名称,这样,在需要对这些标识符进行修改时,只需 修改 typedef 的内容就可以了。 下面是/include/asm-arm/type.h 里的内容: #ifndef __ASSEMBLY__ /*为有符号字符型取名为 s8*/ typedef signed char s8; 文件 1 文件 2 文件 3 静态全局变量 作用域 非静态全局变 量作用域 非静态全局变 量作用域 非 静 态 全局 变 量作用域 图 4.7 全局变量及非静态全局变量的区别