C#基础 [04] 存储和变量
一、栈和堆
在程序运行时,它的数据是存储在内存中的。而类型决定了一个数据项需要多大的内存、存储在什么地方以及如何存储。运行中的程序使用两个内存区域来存储数据——栈和堆。
1.栈
1).定义
栈是一个内存数组,是一个后进先出(LIFO,last-in first-out)的数据结构。程序在编译期间就已经分配好了它所需要的栈空间的大小。栈一般用于存储变量的值、当前程序的执行环境和传递个方法的参数。
2).特征
数据只能从栈顶插入和删除;把数据插入栈顶称为“入栈”(push);把数据从栈顶删除称为“出栈”(pop)。
2.堆
堆是一块内存区域,在堆里可以分配大块的内存用于存储某类型的数据对象。与栈的存取方式不同,堆里的内存能够以任何顺序存入和移除。
二、变量
1.变量定义
变量是程序为内存空间取的一个名字,它表示程序执行时存储在内存中的数据。根据变量所在的位置,可以把变量分为以下四种:
1).本地变量:定义在方法中的变量,用于在方法的作用域保存临时数据。
2).参数:定义在方法的参数列表中的临时变量,用于从一个方法到另一个方法传递参数。
3).字段:作为类型的成员,定义在类型中,用于保存与类型或类型的实例相关的数据。
4).数组元素:定义在数组中,作为数据项的有序集合的一个成员。
2.变量的声明和初始化
变量的声明完成两件事情:
1).为变量命名,并且为它指定一种类型。
2).让编译器为它分配一块内存空间。
变量的声明和初始化经常通过一条语句来完成。就是声明一个变量,并且为变量赋初值。我在这里分开写,以说明整个过程。
1 // 1.声明一个整型变量x 2 int x; 3 // 2.初始化x 4 x = 10; 5 // 3.使用变量 6 Console.WriteLine(x);
3.多重变量声明
在一条声明语句可以声明多变量。但必须遵守以下规则:
1).多个变量的类型必须相同,并且只能在语句的开头写一次类型。
2).多个变量名之间用逗号表达式分隔。
3).每个变量名后面都可以包含初始化语句。
1 // 用一条语句声明3个整型变量x,y和z 2 int x, y = 10, z = 1000;
4.变量的自动初始化
一些类型的变量在声明的时候如果没有初始化,就会被自动设为该类型的默认值;而另一些不能自动初始化为默认值的类型的变量的值在赋值之前为“未定义”。
本地变量和方法的参数是不能被自动初始化的,而类的字段和数组元素是可以被自动初始化的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述