二、C语言(变量与常量)

在C语言中,变量和常量是两种基本的存储实体,它们在程序中用于存储和操作数据。

1.变量(Variables):

        变量是程序运行期间可以更改其值的标识符。也就是说,变量的值可以在程序执行的不同时刻被赋予不同的值。

        变量在使用之前需要声明,声明时要指定变量的名称和类型。

        例如:int x; 这里,x 是一个整数类型的变量。

        变量可以在程序中的任何地方被赋值,例如:x = 10;

2.常量(Constants):

        常量是程序运行期间其值不能被更改的标识符。也就是说,一旦给常量赋了一个值,就不能再更改它。

        常量通常在定义时就赋值,并且它们的值在程序的整个生命周期中都是不变的。

        在C语言中,可以使用const关键字来定义常量。

        例如:const int y = 20; 这里,y 是一个整数类型的常量,其值为20,且不能更改。

       

注意:常量名通常使用大写字母,以与变量名区分。但这并不是强制性的,只是一种编程习惯。

在C语言中,常量也可以不显式地声明为const,例如,字面值(如1020.5'A'等)和预定义的宏(如NULLSIZE_MAX等)都是常量。

3.变量的存储形式

            这里只需要记住变量的四种修饰。

        3.1 auto (一般形式)

           auto:auto说明的变量只能在某个程序范围内使用,通常在函数体内或函数中的复合语句里。通常在编译器中不用写,默认为auto。

       3.2 static(重点)

           static:1.修饰全局静态变量

        (1)静态全局变量存储在程序的静态存储区。

      (2)如果静态全局变量在定义时没有显式初始化,它会被自动初始化为零(对于数值类型如int)或空指针(对于指针类型)。如果提供了初始值,那么变量将被初始化为该值。

      (3)静态全局变量的生命周期是整个程序的执行期间。这意味着它们从程序开始执行时就被创建,并且在程序结束之前都不会被销毁。

      (4)静态全局变量的作用域从它们被声明的点开始,一直到定义它们的文件的末尾。在其他文件中,静态全局变量是不可见的,即它们的作用域被限制在定义它们的文件内。

                       2.修饰局部静态变量

      (1)静态局部变量存储在程序的静态存储区,而不是栈上。这是因为它们的生命周期比普通局部变量长,需要在整个程序的执行期间都存在。在函数内多次调用时,静态局部变量的值不会被销毁和重新分配,而是保留在上一次函数调用结束时的值。

      (2)如果静态局部变量在定义时没有显式初始化,它会被自动初始化为零(对于数值类型如int)或空指针(对于指针类型)。如果提供了初始值,那么变量将被初始化为该值,并且只会在程序开始时初始化一次。

      (3)静态局部变量的生命周期是整个程序的执行期间,而不是仅限于函数调用期间。这意味着它们不会在每次函数调用结束时被销毁,而是在整个程序执行期间都保持存在。当函数再次被调用时,静态局部变量的值将保持上次函数调用结束时的值,而不是被重新初始化。

     (4)静态局部变量的作用域仍然是局部的,仅限于声明它们的函数内部。这意味着它们只能在声明它们的函数内部被访问。尽管它们的生命周期比普通局部变量长,但它们的可见性仍然局限于声明它们的函数内部,不能在函数外部访问。

                           3.修饰静态函数

        (1)静态函数的作用域是从它的定义点开始,直到包含它的文件的末尾。这意味着,只要在其定义之后的代码中,都可以在任何函数之外直接调用它。它只在定义它的文件内部可见。

        3.3 extern

        extern:当变量在一个文件中的函数体外说明,所有其他文件中的函数或程序段都可引用这个变量。

        3.4 register

        register:register变量是想将变量放入CPU的寄存器中,这样可以加快程序的运行速度。

4.常量的修饰

const:修饰常量,常量不能改变,修饰函数,函数的参数不能改变。

define:符号替换

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值