C语言之常量和变量

一、常量

1.字面常量

在C语言中,字面常量是直接在代码中表示固定值的符号。这些值在编译时就已经确定,并且在程序执行期间不会改变,包括数字、字符、字符串。

2.const修饰的常变量

在C语言中,常变量(或称为只读变量)是一个在程序执行期间其值不能被修改的变量。但是,与字面常量不同,常变量是在内存中分配了空间的,并且它们是通过变量名来访问的。常变量的值在初始化后就不能被重新赋值。通过使用const关键字来声明常变量。const关键字告诉编译器该变量的值不应该被修改。

可以看到无法用scanf函数对a重新进行赋值,并且不能在程序内对a赋值,会报错。

3.#define定义的标识符常量

使用 #define 定义的标识符常量在预处理阶段会被替换为其对应的值或代码片段,这个过程在编译之前发生。如在主函数之前定义#define MAX 100,程序中出现的MAX都会被自动替换为100,且不能再对MAX赋值,会报错。

4.枚举常量

枚举类型的定义使用关键字 enum,后跟枚举类型的名称和用花括号括起来的一组枚举成员(也称为枚举常量)。枚举成员默认是整型的,通常从0开始,依次递增。但是,你也可以显式地指定某个枚举成员的值,这时其后的枚举成员将依次递增该值。

二、变量

1.局部变量和全局变量

局部变量:是在函数内部定义的变量

全局变量:是在所有函数外部定义的变量

当局部变量和全局变量都定义为同一个变量名时,局部变量优先

2.变量的作用域和生命周期

局部变量:

  • 作用域:局限于定义它的函数内部,包括该函数中嵌套的任何块(如if语句、for循环等)。
  • 生命周期:从变量定义开始,到包含它的函数执行完毕时结束。

全局变量:

  • 作用域:全局变量的作用域是整个程序,包括所有源文件(如果使用了多个源文件的话,并且全局变量被声明为extern,或者在多个文件中都定义了相同的全局变量)。
  • 生命周期:从程序开始执行时创建,到程序执行结束时销毁。

相关推荐

  1. C语言变量常量..

    2024-07-14 19:10:02       42 阅读
  2. C 语言常量变量的区别

    2024-07-14 19:10:02       43 阅读
  3. go语言下划线、变量常量

    2024-07-14 19:10:02       67 阅读
  4. C语言——局部变量全局变量

    2024-07-14 19:10:02       18 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-14 19:10:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-14 19:10:02       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-14 19:10:02       58 阅读
  4. Python语言-面向对象

    2024-07-14 19:10:02       69 阅读

热门阅读

  1. Android - 云游戏本地悬浮输入框实现

    2024-07-14 19:10:02       17 阅读
  2. SQL Server端口配置指南

    2024-07-14 19:10:02       21 阅读
  3. C#语言简介

    2024-07-14 19:10:02       27 阅读
  4. SQL多表查询

    2024-07-14 19:10:02       20 阅读
  5. 高通平台sensor初始化步骤

    2024-07-14 19:10:02       23 阅读
  6. pid内容索引

    2024-07-14 19:10:02       18 阅读
  7. C++ 异常

    2024-07-14 19:10:02       20 阅读