计算机是否为数组的变量名分配内存?

时间:2012-08-12 03:29:37

标签: c

在书Head First C中,它表示计算机不为数组的变量名分配内存。 我很困惑!这是真的吗?

但如果它有内存,为什么我不能为这个分配另一个数组呢?

2 个答案:

答案 0 :(得分:4)

计算机程序是描述您希望执行的功能的抽象。编译器会将您的描述转换为计算机执行的机器代码。

一个比喻:

  

我告诉你“走两个街区然后左转一个街区”。您可以   然后去商店。我也可以说“走到你看到的时候   在左边的蓝色建筑,转270度,走到你看到的   “在这两种情况下,你都会做同样的事情,但指示   (这个比喻中的程序)是完全不同的,有不同的   字符数和动词数等。

C中的计算机程序是相同的 - 你将变量命名为什么并不重要 - 如果你调用变量“a”或者你打电话,计算机实际运行的代码将占用相同的空间变量“aVeryLongVariableName”。编译器将跟踪名称,但最终输出将是相同的。

答案 1 :(得分:0)

用于命名数组的标识符是一个实际保存该数组的基址(第一个元素的地址)的指针。

因此,您可以将此地址分配给另一个指针,但将其分配给另一个数组基址是不合法的