C语言中的变量存储类别与类型详解

需积分: 9 1 下载量 69 浏览量 更新于2024-07-14 收藏 435KB PPT 举报
"这篇资料主要介绍了C语言中的变量存储类别,包括变量的作用域和存储类型。此外,还涉及了C语言程序设计的基础知识,如数据类型、库函数、运算符和控制结构等。资料中通过实例展示了如何输入两个整数并判断大小,以及函数的使用。最后提到了数据类型的分类,包括基本类型、构造类型和指针类型等,并强调了数据溢出的问题。" 在C语言中,变量的存储类别决定了它们在内存中的分配方式和生命周期。主要有四种存储类别: 1. **局部变量** - 在函数体内或复合语句内定义的变量,其作用域仅限于该函数或复合语句。当函数调用结束或复合语句执行完毕时,局部变量的存储空间会被释放。 2. **全局变量** - 定义在函数外部的变量,其作用域覆盖整个源程序。如果全局变量和局部变量同名,在局部变量的作用域内,全局变量将被隐藏,不可访问。 3. **自动变量(auto)** - 这是默认的存储类别,通常用于局部变量。当函数调用结束时,自动变量的值会丢失。 4. **寄存器变量(register)** - 试图将变量存储在CPU寄存器中,以提高访问速度。然而,是否实际存储在寄存器取决于编译器,且数量有限。 5. **静态变量(static)** - 静态局部变量在函数内部定义,但其值在函数调用之间保持不变。静态全局变量只在其定义的源文件内有效,不能被其他源文件访问。 6. **外部变量(extern)** - 可在整个源程序中使用,允许跨文件共享变量。如果在某个源文件中声明了一个外部变量,但未定义,那么需要在其他源文件中使用`extern`关键字来声明这个变量。 此外,资料还涵盖了C语言程序的基本结构,包括源程序文件、预编译命令、函数定义和外部数据说明。例如,示例程序展示了如何使用`main`函数接收用户输入,通过`scanf`函数读取两个整数,然后通过自定义函数`max`来比较大小并输出结果。 C语言的数据类型包括基本类型(如整型、实型、字符型和枚举)、构造类型(如数组、结构体和共用体)、指针类型和空类型。每个数据类型都有特定的存储需求和表示范围,超出范围的数据可能导致数据溢出,这是编程时需要特别注意的问题。 最后,资料提及了C语言的标识符规则,包括字符集(ASCII字符集)、标识符的命名规范(首字符必须是字母或下划线),以及基本数据类型,如整型(int、short、long及无符号型)、实型(float和double)和字符型(char)。这些基础知识对于理解和编写C语言程序至关重要。