值类型与引用类型

自动变量类型是指存储于该程序(进程)堆栈空间的一种变量类型(注意此时的堆栈空间并不是汇编语言上的堆栈,只是它的使用及释放类似于堆栈的过程)。这个变量类型的一个特点是它在程序执行时存在,在程序结束时消失。正是这个过程类似于汇编里栈的操作,所以才将其命名(处理)为堆栈。我们平时所定义的INT之类的类型都属于这个范畴,该变量在创建时顺序加入,在消亡时按相反的顺序移除。
堆空间不同于栈空间,它不属于某一个特定的进程,但是可以通过进程里的指针来进行引用(malloc()函数),这部分变量与栈空间变量的区别是它不会自动消亡,需利用free(栈空间里引用其的指针)函数来将其释放。
静态变量,该类型变量在整个程序运行期间都可用,在程序开始时存在,程序结束时终止,所以本质上可以将其认为是栈空间里的类型,但是是栈空间里位置最深的变量。其最先push,最后pop。

上面的理解以后,值类型就相当于栈空间的自动变量类型,其使用分配与释放由编译器完成,引用类型相当于在栈空间存储其指针,堆空间存储其实际数值。注意这里涉及到一个引用空间的释放问题,我们在编程时没有注意,但其实在底层编译的时候已经自动帮我们完成了,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值