请举例说明变量的声明顺序对应在栈中的顺序

这篇笔记探讨了C#中变量的声明顺序与栈内存的关系,详细介绍了栈和堆的区别,以及变量的四种类型:本地变量、字段、参数和数组元素。栈遵循后进先出的原则,而变量声明顺序决定了它们在栈中的顺序。笔记还阐述了C#的类型系统,包括值类型和引用类型,并列举了预定义的简单和非简单类型。最后,通过示例展示了变量声明顺序与栈内存储顺序的一致性。
摘要由CSDN通过智能技术生成

时间:上午十点四十五

参考资料:图解C#笔记

笔记标题:请举例说明变量的声明顺序对应在栈中的顺序

笔记内容:变量的值要存储在内存中,内存有两种存储方式,栈和堆。栈主要存储变量值,环境,参数。堆存的内容要更丰富一下,堆存储某类型数据对象。栈是一个内存数组,数组都是有大小和顺序的,栈中存储的数据是后进先出。因为变量是存储在栈中的,自然按照后进先出的顺序进行。堆没有这些规定,可以随意的存储和移除,没有什么顺序。C#中有垃圾收集器,能够自动判断和程序无用的数据并进行清除。

 

C#中的变量有四种,本地变量,字段,参数和数组元素。区分这些变量的关键是判断是否为类型成员。不是类型成员的有本地变量,参数;是类型成员的有字段;不确定的是数组元素。数组可能是类型成员也可能不是。变量在使用前要进行声明,声明变量有两个要求,一个是声明类型,一个是进行初始化赋值。一个没有初始化赋值的变量,如果有默认值,编译器不会报错;如果没有默认值,编辑器会报错。这个默认值取决于这个变量的类型。自定义的类型是没有默认值的,必须要初始化赋值。如果是预定义的,看情况,有些有,有些没有。类型是指数据结构的模板,类型不是数据结构,也不是具体的数据,它是一个模板,固定了一种数据结构的形式,并且能够表明其实例化的特征。类型要求三要素,名称,数据结构和行为约束。在C#中,有两种划分方法,一种是按照存储方式划分,分为值类型和引用类型。一种是按照使用方法,分为预定义类型和自定义类型。来来去去都是二十二种类型。比如按照使用方法,预定义类型有十六种,三种非简单类型,十三种简单类型。非简单类型有object ,string,dynamic,解释一下,object是所有类型的基类,string是Unicode字符数组,dynamic是动态语言编写程序集时使用。十三种简单类型有sbyte,byte,int ,uint,long,ulong,char,double ,float,decimal,bool,short,ushort.这里面是分为数值型和非数值型的。其中bool和char是非数值型,其他是数值型。数值型分为整型和小数型(浮点型)整型按照位数的不同分为8bit,16bit,32bit,64bit,浮点型按照精度分为双精度的double,和单精度的float。精度之间的区别就是取值范围不同。双精度的取值范围更大。

 

现在距离说明变量的声明顺序对应在栈中的顺序:

int var1;

int var2;

double var3;

float var4;

 

var4

var3

var2

var1

 

画图说明

变量声明顺序

值在栈中的顺序

int var1;var4
int var2;var3
double var3;var2
float var4;var1

 

不足之处:没有例子。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值