【C 语言】变量本质 ( 变量概念 | 变量本质 - 内存空间别名 | 变量存储位置 - 代码区 | 变量三要素 )

简介: 【C 语言】变量本质 ( 变量概念 | 变量本质 - 内存空间别名 | 变量存储位置 - 代码区 | 变量三要素 )

文章目录

一、变量概念

二、变量本质

1、变量本质 - 内存别名

2、变量存储位置 - 代码区

3、变量三要素





一、变量概念


变量概念 : 变量 是 既能读 , 又能写 的 内存对象 ;


与 变量 相对的一个概念是 常量 , 常量一旦初始化之后 , 就 不能修改 ;


变量定义 :


数据类型 变量标识符1, 变量标识符2, ... , 变量标识符n;



使用


数据类型 变量标识符1, 变量标识符2, ... , 变量标识符n;


定义了一个变量 a , C 语言编译器会为该变量在 内存 中 , 分配 4 44 字节的内存空间 ;


使用


double b;


定义了变量 b , C 语言编译器会为该变量在 内存 中 , 分配 8 88 字节内存空间 ;






二、变量本质



1、变量本质 - 内存别名


程序 通过 变量 申请 内存空间 , 并 为这块内存空间 命名 ;


通过 变量名 , 可以 访问 内存空间 ; 变量 相当于 一段连续的 内存空间 的 别名 , 相当于 门牌号 ;


( 变量的本质是 门牌号 , 内存别名 )



变量概念中 , 变量 是 既能读 , 又能写 的 内存对象 ;


通过 变量 读写的对象 是 内存 , 不是变量 , 变量只是 内存的别名 , 相当于门牌号 ;



2、变量存储位置 - 代码区


变量是内存标号 , 要放在内存外面 ;



程序执行时 , 变量本质是代码 , 在 代码区 存储 ;


内存四区 从下到上 : 代码区 | 全局区 | 栈区 | 堆区 ;



3、变量三要素


变量三要素 :


名称

大小

作用域


变量的生命周期 : 变量仅在定义的大括号内有效 ;


目录
相关文章
|
6天前
|
运维 DataWorks 安全
DataWorks产品使用合集之如何查看空间资源、CPU、内存和存储空间容量
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
11天前
|
存储 编译器 C语言
C语言3 变量
C语言3 变量
5 1
|
20天前
|
C语言
C语言15---在VC中变量的注意点和变量的注意细节
C语言15---在VC中变量的注意点和变量的注意细节
|
5天前
|
机器学习/深度学习 分布式计算 大数据
MaxCompute产品使用合集之如何查看空间资源、CPU和内存以及存储空间容量
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
20天前
|
存储 编解码 程序员
C语言17---计算机的存储规则
C语言17---计算机的存储规则
|
20天前
|
C语言
C语言16---变量的注意细节
C语言16---变量的注意细节
|
20天前
|
存储 C语言
C语言14----变量的使用
C语言14----变量的使用
|
9天前
|
存储 分布式计算 Hadoop
HadoopCPU、内存、存储限制
【7月更文挑战第13天】
34 14
|
13天前
|
存储 Java 程序员
Java面试题:方法区在JVM中存储什么内容?它与堆内存有何不同?
Java面试题:方法区在JVM中存储什么内容?它与堆内存有何不同?
37 10
|
1月前
|
存储 Java C++
Java虚拟机(JVM)管理内存划分为多个区域:程序计数器记录线程执行位置;虚拟机栈存储线程私有数据
Java虚拟机(JVM)管理内存划分为多个区域:程序计数器记录线程执行位置;虚拟机栈存储线程私有数据,如局部变量和操作数;本地方法栈支持native方法;堆存放所有线程的对象实例,由垃圾回收管理;方法区(在Java 8后变为元空间)存储类信息和常量;运行时常量池是方法区一部分,保存符号引用和常量;直接内存非JVM规范定义,手动管理,通过Buffer类使用。Java 8后,永久代被元空间取代,G1成为默认GC。
29 2