变量的本质

本文探讨了变量的本质,指出变量如int i在程序运行时存储于内存中。当程序执行完毕,分配给变量的内存空间会被释放,标记为可用状态,而非清空。程序运行时,编译器会向操作系统申请内存,建立变量与存储单元的关联,实现变量的存储功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

那么到底什么是变量?看看下面这个程序

# include<stdio.h>
int main(void)
{
	int i = 10;
	i = 20;
	printf("i = %d\n", i);
	return 0;
}

int i 表示定义一个变量 i。那么程序在运行时定义的变量 i 存储在什么地方呢?
存储在内存还是硬盘上呢?
答案是在存储在内存中的。当单击编译,链接,执行后弹出一个黑色窗口,关闭那个黑色窗口后,就是意味着这个程序运行了一遍,而且这一遍已经停止了。此时存储的 3 的内存空间就没有了,要是有的话就麻烦了,如果任何软件运行了一遍之后为他分配的空间仍保留着,那么计算机在运行几次的话就不行了,程序运行之后,为这个程序所分配的所有内存空间统统都会被释放掉,以便被下一个程序使用。

在这里插入图片描述

所谓的“释放”并不是指清空该内存空间,而是指将该内存空间标记为“可用”状态,使得系统在分配内存的时候可以将它重新分配给其他变量使用。如果没有被释放的话系统在分配内存的时候是不会使用该内存空间的,因为它已经被别的变量使用了,是不可用的状态。

下面我们看看这两条语句是运行的,首先看程序是如何运行 “int i”的,当VC++运行这个程序时候,他会向系统请求操作系统在内存中寻找一个空闲的存储单元,然后把它当作变量 i 来使用。也就是说这个存储单元的地址和 I 产生的一种关联。即变量 i 现在就是这个存储单元,这个存储单元现在就是变量 i 。

博客
v8worker
05-08 2958
05-06 2941
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值