当前位置:首页 > 内存 > 正文

数组名表示数组在内存的

  • 内存
  • 2024-05-10 17:41:28
  • 364

一、C语言中数组名代表什么,数组元素用什么方法表示?数组名是数组的首地址和一个常量。数组元素使用“[n]”运算符(索引运算符)表示第n+1个元素或使用“*(p+n)”表示第n+1个元素。对于数组元素,a[n]会直接转换为汇编代码,以供支持快速索引操作的处理器上的编译器使用,而那些不支持快速索引操作的处理器则会转换为*(a+n)。因此,旧的C程序在大多数情况下不使用索引运算符。
二、数组名表示的是该数组元素在内存中的什么?,也不会单独为a分配空间。a只代表一个地址,即a[0]元素的地址。
int*p;
这里的p也是一个指针变量,会为其分配空间。当p被取消引用时,将首先在符号表中搜索p变量。地址,然后去这个地址取出p变量的值(这个值是其他变量的地址),然后去这个值代表的地址取出那里存储的值。
关于你提到的两种情况,《C专家编程》第9章有详细解释,请阅读第9.2节