首页 > 解决方案 > 符号表中是否有数组的标识符?

问题描述

我知道符号表中有变量名和函数名,但是数组呢?符号表中有数组吗?

标签: compilationlinker

解决方案


数组可以只是一个常规变量:如果您将数组声明为任何函数定义之外的全局变量(或静态变量),例如:

int myArray[256]; 

那么是的,全局变量的名称在符号表中,就像任何全局变量一样。

如果在函数中声明它:

int myFunction(void) {
    int myArray[256];
    ...
}

然后,它在当前线程的堆栈上保留空间,并将其视为局部变量。

在 C 中,数组只是保留空间的第一个元素的常量地址,最多可以包含 N 个相同类型的元素。


推荐阅读