全站数据
8 4 2 0 5 8 1

给变量分配内存单元是在什么时候进行的

电气技术分享 | 简单学习,快乐成才!         
问题更新日期:2024-10-13 11:32:21

问题描述

给变量分配内存单元是在什么时候进行的,麻烦给回复
精选答案
最佳答案

&i 的地址确定是在链接的过程中就完成了。编译器在编译和链接的过程中,词法分析的结束会为每一个

单词(Token)

输出一个二元组。例如下面的代码片段

输出的二元组形式为

<if, 关键字>

<&, 运算符>

<i, 指向i的符号表项的指针>

<==, 运算符>

<NULL, 关键字>

<return, 关键字>

<;, 结束符>

符号表项

存储了该变量行号、变量的类型和作用域、函数名字、函数参数和函数的作用域特性。最后在链接的时候,链接程序根据词法分析和语法分析的结果,程序中有引用&i均由链接时分配的地址代替。所以,简而言之,

函数在执行的过程中,实际上程序并不通过变量的名字来确定内存位置,在使用变量的时候,实际上已经是直接对地址进行操作了

。