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.变量的自动初始化

    一些类型的变量在声明的时候如果没有初始化,就会被自动设为该类型的默认值;而另一些不能自动初始化为默认值的类型的变量的值在赋值之前为“未定义”。

    本地变量和方法的参数是不能被自动初始化的,而类的字段和数组元素是可以被自动初始化的。

      

posted @   YunshiSun  阅读(1414)  评论(1编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 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的设计模式综述
点击右上角即可分享
微信分享提示