C语言中对变量的理解

这篇具有很好参考价值的文章主要介绍了C语言中对变量的理解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

对变量的理解

1.什么是变量?

Ⅰ.概念:

Ⅱ.作用:

Ⅲ.注意:

2.变量的声明与赋值

Ⅰ.声明

Ⅱ.赋值

3.变量的作用域

Ⅰ.文件作用域(file scope)

Ⅱ.块作用域(block scope)

4.变量按数据类型分类


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

1.什么是变量?

Ⅰ.概念

  • 内存中的一个存储区域,该区域的数据可以在同一类型范围内不断变化

  • 通过变量名,可以访问这块内存区域,获取里面存储的值

  • 变量的构成包含三个要素:数据类型变量名存储的值

  • C语言中变量声明的格式:数据类型 变量名 = 变量值

Ⅱ.作用

        用于在内存中保存数据。

Ⅲ.注意

  • C语言中每个变量必须先声明,后使用

  • 不同的数据类型,占用的空间大小不一样。

  • 一旦声明,变量的类型就不能在运行时修改。

2.变量的声明与赋值

Ⅰ.声明

格式:

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

例子:

int width,height;

// 等同于
int width;
int height;

Ⅱ.赋值

        变量声明时,就为它分配内存空间,但是不会清除内存里面原来的值。这导致声明变量以后,变量会是一个随机的值。所以,变量一定要赋值以后才能使用。

例子:

先声明再赋值

int var; // 声明变量
var = 3; // 给变量赋值

声明和赋值一起

int var = 3;

多个相同类型变量的赋值

int var1 = 1, var2 = 2;

连续赋值

int var1, var2, var3;
var1 = var2 = var3 = 999;
printf("%d %d %d", var1, var2, var3); // 输出结果:999 999 999

3.变量的作用域

  • 变量的作用域:其定义所在的一对{ }内

  • 变量只有在其作用域内才有效。出了作用域,变量不可以再被调用。

  • 同一个作用域内,不能定义重名的变量。

  • C 语言的变量作用域主要有两种:文件作用域(file scope)和块作用域(block scope)。

Ⅰ.文件作用域(file scope)

        指的是,在源码文件顶层声明的变量,从声明的位置到文件结束都有效。全局变量

int x = 1; // 在main()函数外面定义的全局变量
int main() {
	printf("%d\n", x); // 在main()函数里可以调用x变量
    return 0;
}

Ⅱ.块作用域(block scope)

        指的是由大括号( {} )组成的代码块,它形成一个单独的作用域。凡是在块作用域里面声明的变量,只在当前代码块有效,代码块外部不可见。局部变量

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;
}

4.变量按数据类型分类

        变量可以按数据类型来分,也可以按声明的位置来分(全局变量、局部变量)。

        按照数据类型分为:

C语言中对变量的理解,C语言,c语言,开发语言

注意1:这里列举的是C语言的常用类型,后续C语言版本还有新增的类型。

注意2:空类型:void 表示空类型(无类型)。通常应用于函数的返回值类型、函数的参数、指针类型。

注意3:在C语言中,没有字符串类型,使用字符数组表示字符串文章来源地址https://www.toymoban.com/news/detail-792324.html

到了这里,关于C语言中对变量的理解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 深入理解ArkTS:Harmony OS 应用开发语言 TypeScript 的基础语法和关键特性

    Harmony OS应用开发的主力语言ArkTS的前身TS语言的基本语法。通过学习变量的声明和数据类型、条件控制、函数声明、循环迭代等基本知识,并了解内核接口的声明和使用。同时还介绍了模块化开发的概念,提高代码的复用性和开发效率。该对话还涉及了if else和switch条件控制语

    2024年02月04日
    浏览(40)
  • 理解控制变量、内生变量、外生变量、工具变量

    1.解释变量(或自变量):解释变量是指作为研究对象,用于解释某个现象或行为模式的变量。其中有些解释变量是直接影响被解释变量的,有些则是间接或中介影响的。在回归分析中,解释变量通常被放在方程的右边。 2.被解释变量(或因变量):被解释变量是指通过解释

    2024年02月07日
    浏览(19)
  • 开发uniapp过程中对app、微信小程序与h5的webview调试

        因为在开发中使用到了webview,因为出现一些问题,所以需要对webview进行跟踪调试,但因为app,h5与微信小程序不一样,所以需要单独说一下。     一、H5     这个比较简单,因为都是在chrome,用F12就可以  二、对微信小程序       因为普通的uniapp页面上都能通过F12可以

    2024年02月11日
    浏览(39)
  • 【游戏开发解答】Unity中对UGUI的Image进行倾斜变形(UGUI | 精灵图 | OnPopulateMesh | 顶点偏移 | 变形)

    本文最终效果 一、前言 嗨,大家好,我是新发。 前同事问了我一个问题,如何将 UGUI 的 Image 进行变形,变成斜斜的, 最直接的就是出图的时候直接就画成斜的,我们不讨论这种情况,这里我们单纯的从技术实现上去思考能不能在 Unity 中通过 UGUI 的 Image 对图片进行倾斜变形

    2024年02月04日
    浏览(36)
  • 【微信开发】小程序this.setData({})中对普通字段、数组以及数组对象进行赋值,对数组对象进行操作

    前言:         之最近在开发一个系统的时候,this.setData总有时候会出问题,查了查资料,一下进行总结: 字段赋值; 数组静态赋值; 数组动态赋值; 对象数组动态赋值; 组对象进行操作         ① 末位加数据;         ② 中间或者开头加数据;         ③ 删除

    2024年02月08日
    浏览(33)
  • 带你深入理解 Java成员变量,局部变量和静态变量的创建和回收时机

    Java中的成员变量、局部变量和静态变量具有不同的创建和回收时机。下面我将详细介绍它们的特点和生命周期。 成员变量(实例变量): 成员变量是定义在类中的变量,每个类的实例都会拥有自己的成员变量。它们的生命周期与对象的创建和销毁相对应。 创建时机:成员变

    2024年02月07日
    浏览(31)
  • 【Linux】Linux环境变量的理解 --- 命令行参数、shell子进程、环境变量、本地变量…

    加油布鲁斯,你能行的! 1. 我们平常所用的Linux指令其实也是可执行程序,和我们自己写的二进制程序没什么两样,那么为什么在执行自己的程序的时候需要加上./,而执行这些系统提供的指令(可执行程序),不需要加上./呢? 2. 要执行一个程序或者指令,必须先找到这个

    2024年01月16日
    浏览(39)
  • Labview局部变量、全局变量、引用、属性节点、调用节点用法理解及精讲

    写本章前想起题主初学Labview时面对一个位移台程序,傻傻搞不清局部变量和属性节点值有什么区别,概念很模糊。所以更新这篇文章让大家更具象和深刻的去理解这几个概念,看完记得点赞加关注喔~ 本文程序源代码附在后面,大家可以自行下载学习。 本文的结构还是首先教

    2024年01月20日
    浏览(29)
  • 理解移动语义(二)--延长变量的生命周期

    目录 代码1,无右值引用,生命周期立刻结束 代码2,有右值引用,生命周期延长到引用的生命周期结束时 以上结论只适用于纯右值,不适用将亡值 右值引用的一个作用是延长纯右值的生命周期。对比如下的代码: 结果:   可见,析构发生在i.a = 打印之前。 结果:  可见,

    2023年04月08日
    浏览(24)
  • 如何理解 Linux 命令行参数与环境变量7

    1.1参数介绍 在写C语言程序时,main函数是否可以带参数呢?------ 是可以的 int argc: 命令行参数的个数 char *argv[ ]: 字符指针数组(指向各个命令行参数的字符指针所构成的数组) 我们写一段代码来打印一下看这些参数存着什么信息: 运行结果: 直接运行数组中只保存了一个元

    2024年03月27日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包