在刚开始学习一门新的编程语言的时候,我们通常的套路就是学习很多数据类型,定义各种变量。但你知不知道,数据类型的本质含义究竟是什么呢?
比如我们经常写出这样的语句:
int a;
这是一条非常简单的定义语句,意义简单明了!就连初学者小白都脱口而出:定义了一个整型变量嘛!有什么了不起的?
但是你知道当你的程序运行到这句语句的时候,计算机应该怎么做些什么呢?读完本文相信会给你答案!
想要了解计算机在我们定义一个变量后到底做了什么,我们需要首先了解一下堆和栈是个什么东西。
相信大家在学习C语言的时候大家应该都听说过堆和栈,但是他到底是什么东西?堆和栈有什么作用呢?
栈由操作系统自动分配释放 ,用于存放函数的参数值、局部变量等,其操作方式类似于数据结构中的栈。
堆由程序员分配释放, 若程序员不释放,程序结束时由OS回收,分配方式倒是类似于链表。
现在我们知道了,简单的理解就是堆其实就是用来存放内存的值,栈区是用来存放变量名及内存地址。
比如我们写了这么一句语句:
int a