C语言的变量和常量

2024-08-26 21:12
文章标签 语言 变量 常量

本文主要是介绍C语言的变量和常量,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、变量

        简单来说,变量是在程序运行过程中其值可以改变的量。

         在实际编程和生活中,某些数据并不是一成不变的,而是根据实际的需求,可以时时改变,这样变量就应 运而生。数据可以变化的量,我们叫做变量。本质是系统在内存中申请一块空间,根据用户的需求,随 时改变申请空间中的数据。如果我们像int a ;这样定义常量系统会自动给我们申请空间,还有一种手动申请空间的方式,需要用到像malloc这类的函数,这类方式申请空间需要牵扯到手动释放空间,这里不过多赘述

  1. 变量的定义:
    • 变量在使用前必须先进行定义,定义变量包括指定变量的类型和名称。例如:int a;定义了一个名为 “a” 的整型变量。(数据类型总共有两大类,1,基本数据类型2,派生数据类型,这里不过多赘述,类型名称需要自己定义,但是要更符合C语言的命名规则) 
    • 可以在定义变量的同时进行初始化,如:int b = 5;将变量 “b” 初始化为 5。(这里int 就是基本数据类型的一种,b则是我们,命名的变量名称)
  2. 变量的作用域:
    • 局部变量:在函数内部定义的变量称为局部变量,其作用域仅限于定义它的函数内部。当函数执行结束后,局部变量所占用的内存空间会被释放。
    • 全局变量:在函数外部定义的变量称为全局变量,其作用域从定义的位置开始,到整个源文件结束。多个源文件可以通过 extern 关键字来访问其他源文件中的全局变量。
  3. 变量的存储类型:(这里内容比较晦涩,可以不进行了解) 
    • auto:自动变量,是局部变量的默认存储类型,存储在栈中,函数调用结束后自动释放内存。
    • static:静态变量,分为局部静态变量和全局静态变量。局部静态变量在函数调用结束后仍保留其值,下次调用函数时可以继续使用;全局静态变量的作用域仅限于定义它的源文件。
    • register:寄存器变量,请求编译器将变量存储在 CPU 的寄存器中,以提高访问速度。但编译器可以根据实际情况决定是否将其存储在寄存器中。
    • extern:用于声明外部变量,即声明在其他源文件中定义的全局变量。

二、常量

常量是在程序运行过程中其值不能被改变的量。

  1. 常量的类型:
    • 整型常量:如 10、-5 等整数。
    • 浮点型常量:如 3.14、-2.5 等浮点数。
    • 字符常量:用单引号括起来的单个字符,如 'a'、'B' 等。
    • 字符串常量:用双引号括起来的字符序列,如 "Hello, world!"。
    • 枚举常量:在枚举类型中定义的常量值。(枚举,是派生类中的一种数据类型)
  2. 常量的定义方式:
    • 使用 #define 宏定义:#define PI 3.14,定义了一个名为 PI 的常量,其值为 3.14。在程序编译前,所有出现 PI 的地方都会被替换为 3.14。一般宏定义,需要定义在main函数之上,头文件之下.
    • 使用 const 关键字:const int MAX_VALUE = 100;,定义了一个名为 MAX_VALUE 的常量,其类型为整型,值为 100。使用 const 定义的常量具有类型检查的优势,并且在程序运行过程中不能被修改。

总之,变量和常量在 C 语言中都有各自的用途和特点,合理地使用它们可以使程序更加高效、可靠。

这篇关于C语言的变量和常量的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1109699

相关文章

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

Python之变量命名规则详解

《Python之变量命名规则详解》Python变量命名需遵守语法规范(字母开头、不使用关键字),遵循三要(自解释、明确功能)和三不要(避免缩写、语法错误、滥用下划线)原则,确保代码易读易维护... 目录1. 硬性规则2. “三要” 原则2.1. 要体现变量的 “实际作用”,拒绝 “无意义命名”2.2. 要让

Go语言中json操作的实现

《Go语言中json操作的实现》本文主要介绍了Go语言中的json操作的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录 一、jsOChina编程N 与 Go 类型对应关系️ 二、基本操作:编码与解码 三、结构体标签(Struc

python语言中的常用容器(集合)示例详解

《python语言中的常用容器(集合)示例详解》Python集合是一种无序且不重复的数据容器,它可以存储任意类型的对象,包括数字、字符串、元组等,下面:本文主要介绍python语言中常用容器(集合... 目录1.核心内置容器1. 列表2. 元组3. 集合4. 冻结集合5. 字典2.collections模块

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

SpringBoot中@Value注入静态变量方式

《SpringBoot中@Value注入静态变量方式》SpringBoot中静态变量无法直接用@Value注入,需通过setter方法,@Value(${})从属性文件获取值,@Value(#{})用... 目录项目场景解决方案注解说明1、@Value("${}")使用示例2、@Value("#{}"php

GO语言短变量声明的实现示例

《GO语言短变量声明的实现示例》在Go语言中,短变量声明是一种简洁的变量声明方式,使用:=运算符,可以自动推断变量类型,下面就来具体介绍一下如何使用,感兴趣的可以了解一下... 目录基本语法功能特点与var的区别适用场景注意事项基本语法variableName := value功能特点1、自动类型推

GO语言中函数命名返回值的使用

《GO语言中函数命名返回值的使用》在Go语言中,函数可以为其返回值指定名称,这被称为命名返回值或命名返回参数,这种特性可以使代码更清晰,特别是在返回多个值时,感兴趣的可以了解一下... 目录基本语法函数命名返回特点代码示例命名特点基本语法func functionName(parameters) (nam

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作

Go语言使用Gin处理路由参数和查询参数

《Go语言使用Gin处理路由参数和查询参数》在WebAPI开发中,处理路由参数(PathParameter)和查询参数(QueryParameter)是非常常见的需求,下面我们就来看看Go语言... 目录一、路由参数 vs 查询参数二、Gin 获取路由参数和查询参数三、示例代码四、运行与测试1. 测试编程路