堆栈是一个不容忽视的概念,堆栈是两种数据结构。堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。在单片机应用中,堆栈是个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场。要点:堆,队列优先,先进先出(FIFO—first in first out)[1] 。栈,先进后出(FILO—First-In/Last-Out)。
栈(操作系统):由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
堆(操作系统): 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,分配方式倒是类似于链表。
整数类型
byte 8位 0 - 255
sbyte 8位 - 128 - 127
int 32位 - 2.14e10 - 2.14e10
short 16位 - 32768 - 32767
unshort 16位 0 - 65535
long 64位
unlong 64位
指定值类型时要考虑大小,防止溢出。
浮点类型
float 精确到7位
double 精确到15-16位
将double类型强制转换为float类型可以用F或f或(float)
double NumDouble = 22.445;
float NumFloat = (float)NumDouble;
float FFloat = 22.445F;
//同理将数值转化为double类型用D或d
//bool 类型 只有true和false;
namespace Test02
{
class Program
{
class C //创建一个类C
{
public int Value; //声明一个公共int类型的变量Value
}
static void Main(string[] args)
{
int v1 = 0; //声明一个int类型的变量v1,并初始化为0
int v2 = v1; //声明一个int类型的变量v2,并将v1赋值给v2
v2 = 927; //重新将变量v2赋值为927
C r1 = new C(); //使用new关键字创建引用对象
C r2 = r1; //使r1等于r2
r2.Value = 112; //设置变量r2的Value值
Console.WriteLine("Values:{0},{1}", v1, v2); //输出变量v1和v2
Console.WriteLine("Refs:{0},{1}", r1.Value, r2.Value);//输出引用类型对象的Value值
Console.ReadLine();
}
}
}