C 语言变量详解

1. 变量的重要性

1.1 为什么需要变量

变量是程序中不可或缺的组成单位,是最基本的存储单元。

1.2 初识变量

  • 变量概念

    • 内存中的一块区域,其数据可以在同一数据类型范围内不断变化。
    • 通过变量名访问内存区域,获取存储的值。
    • 变量由三个要素组成:数据类型变量名存储的值
    • C语言中,变量声明格式为:数据类型 变量名 = 变量值
  • 变量的作用:用于在内存中保存数据。

  • 使用变量注意

    • 每个变量必须先声明再使用。
    • 不同数据类型占用的空间大小不同。
    • 一旦声明,变量类型不能在运行时修改。

1.3 变量的声明与赋值

步骤1:变量的声明

格式:

数据类型  变量名;  //声明变量的语句以分号结尾

示例1:

int width;

示例2:

int width, height;  // 可同时声明多个同类型变量
步骤2:变量的赋值

变量声明时,为其分配内存空间,但不会清除内存里的原值。因此,变量声明后可能是随机值,需在使用前赋值。

int age; //变量的声明
age = 18;  //变量的赋值

变量声明与赋值可写在一行。

int age = 18;

多个同类型变量的赋值可在同一行。

int a = 1, b = 2;

1.4 变量的作用域(scope)

  • 变量的作用域:定义所在的一对{ }内。
  • 变量只在其作用域内有效。
  • 同一作用域内不能定义重名变量。
  • C语言的变量作用域有文件作用域和块作用域。

文件作用域:在源码文件顶层声明的变量,从声明位置到文件结束都有效。

int x = 1;
int main() {
   
	printf("%d\n", x);
    return 0;
}

块作用域:由大括号( {} )组成的代码块形成一个独立作用域。在块作用域里声明的变量只在当前代码块有效。

int main() {
   
    int m = 10;
    if (m == 10) {
   
        int n = 20;
        printf("%d %d\n", m, n);  // 10 20
    }
    printf("%d\n", m);  // 10
    printf("%d\n", n);  // 错误,超出作用域
    return 0;
}

函数和 for 循环是最常见的块作用域,内部声明的变量对外部不可见。

1.5 变量按类型的分类

C语言中的变量按数据类型分为:

  • 基本数据类型(整型、浮点型、字符型、布尔型)
  • 复合数据类型(数组、结构体、联合体)
  • 空类型(void)

以上是C语言常见类型,后续版本可能会有新增类型。在C语言中,没有字符串类型,用字符数组表示字符串。

相关推荐

  1. C 语言变量详解

    2024-01-08 03:48:02       40 阅读
  2. C语言中的变量与函数详解

    2024-01-08 03:48:02       31 阅读
  3. C语言变量与常量..

    2024-01-08 03:48:02       25 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-08 03:48:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-08 03:48:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-08 03:48:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-08 03:48:02       18 阅读

热门阅读

  1. 用数据结构python写大数计算器

    2024-01-08 03:48:02       36 阅读
  2. SpringBoot 中实现订单30分钟自动取消的策略

    2024-01-08 03:48:02       36 阅读
  3. Docker - 启动 MySQL 闪退解决方案

    2024-01-08 03:48:02       32 阅读
  4. 实现一个网页聊天室

    2024-01-08 03:48:02       30 阅读
  5. 讲解eureca和nacus的区别

    2024-01-08 03:48:02       31 阅读
  6. Kvaser使用(Can总线)

    2024-01-08 03:48:02       145 阅读
  7. 数据库连接使用问题 - 1

    2024-01-08 03:48:02       32 阅读
  8. Docker学习笔记(一):Docker命令总结

    2024-01-08 03:48:02       39 阅读
  9. 学习录

    学习录

    2024-01-08 03:48:02      35 阅读
  10. 【深度学习在时序数据异常检测中的创新】

    2024-01-08 03:48:02       29 阅读
  11. tyxsspa/AnyText 阿里生成文字

    2024-01-08 03:48:02       34 阅读