C 语言变量详解

简介: 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语言中,没有字符串类型,用字符数组表示字符串。

相关文章
|
23天前
|
存储 人工智能 程序员
一文彻底搞清楚C语言的数据类型和变量
本文介绍了数据类型(基本、构造、指针、空类型)、变量(使用、命名规则、作用域)和常量(字面、符号、枚举、表达式),帮助初学者理解编程基础概念。坚持学习,定能创造奇迹!
192 1
一文彻底搞清楚C语言的数据类型和变量
|
7月前
|
存储 C语言
C语言数据类型、变量和运算符以及printf相关问题
C语言数据类型、变量和运算符以及printf相关问题
|
3月前
|
存储 编译器 C语言
【C语言】C语言的变量和声明系统性讲解
在C语言中,声明和定义是两个关键概念,分别用于告知编译器变量或函数的存在(声明)和实际创建及分配内存(定义)。声明可以多次出现,而定义只能有一次。声明通常位于头文件中,定义则在源文件中。通过合理组织头文件和源文件,可以提高代码的模块化和可维护性。示例包括全局变量、局部变量、函数、结构体、联合体、数组、字符串、枚举和指针的声明与定义。
102 12
|
3月前
|
C语言
【C语言】全局搜索变量却找不到定义?原来是因为宏!
使用条件编译和 `extern` 来管理全局变量的定义和声明是一种有效的技术,但应谨慎使用。在可能的情况下,应该优先考虑使用局部变量、函数参数和返回值、静态变量或者更高级的封装技术(如结构体和类)来减少全局变量的使用。
61 5
|
5月前
|
存储 C语言
【c语言】数据类型和变量
本文介绍了C语言中的数据类型和变量。数据类型分为内置类型和自定义类型,内置类型包括字符型、整型、浮点型等,每种类型有不同的内存大小和取值范围。变量分为全局变量和局部变量,它们在内存中的存储位置也有所不同,分别位于静态区和栈区。通过示例代码和图解,详细阐述了这些概念及其应用。
96 1
|
5月前
|
存储 C语言
C语言指针与指针变量的区别指针
指针是C语言中的重要概念,用于存储内存地址。指针变量是一种特殊的变量,用于存放其他变量的内存地址,通过指针可以间接访问和修改该变量的值。指针与指针变量的主要区别在于:指针是一个泛指的概念,而指针变量是具体的实现形式。
|
5月前
|
存储 C语言
C语言:设置地址为 0x67a9 的整型变量的值为 0xaa66
在C语言中,可以通过指针操作来实现对特定地址的访问和赋值。要将地址为 0x67a9 的整型变量值设为 0xaa66,可以先定义一个指向该地址的指针,并通过该指针对该内存位置进行赋值操作。需要注意的是,直接操作内存地址具有一定风险,必须确保地址合法且可写。代码示例应考虑字节序及内存对齐问题。
|
5月前
|
C语言 C++
【C语言】指针篇-一篇搞定不同类型指针变量-必读指南(3/5)
【C语言】指针篇-一篇搞定不同类型指针变量-必读指南(3/5)
|
6月前
|
存储 C语言
【C语言基础考研向】02 数据类型-常量-变量
本文介绍了编程中的基本概念,包括数据类型分类、常量与变量的定义及使用。首先概述了四大类数据类型:基本类型(整型、浮点、字符型)、构造类型(数组、结构体)、指针类型和空类型。接着阐述了常量与变量的区别及命名规则,并详细说明了整型、浮点型和字符型数据的特点与应用。最后总结了常见的易错点,如字符串与字符常量的区别及浮点数的默认输出格式。
|
6月前
|
存储 传感器 物联网
结合物联网开发探讨C语言的变量
在物联网(IoT)开发中,C语言的变量起着至关重要的作用。由于物联网设备资源有限,C语言的高效性和对硬件的直接控制使其成为开发嵌入式系统的首选。