第一个地址由数组名表示,数组名也是0元素的地址。
如果存在:inta[10
],则:a和&a[0]表示数组占用的存储空间的起始地址
第一个地址是变量占用的存储区域中第一个单元格的地址。例如,定义一个数组,数组的第一个数的地址是第一个地址inta[10],那么a[0]的地址是第一个地址inta[10][10],那么a[0][0]的地址是第一个地址“第一个地址”在c语言中不是一个术语。这是计算机原理中的一个概念。计算机内存的每个单元(主要是内存)都有一个数字,称为地址。cpu通过这个数字地址访问(读和写)每个单元。程序中的某些变量需要多个单元来存储。例如,c语言中的长变量通常是32位二进制数。在每个单元8位的计算机内存中,需要4个单元来存储一个长的数字。为了方便访问,这些被变量占用的单元通常是连续存储的,也就是说,它们占用几个地址连续的单元。具有连续地址的几个单元通常称为“存储区”。
例如,一个对象/数组占用大量的内存字节,它占用的第一个内存地址就是第一个地址。
例如,chars[16]从0x1到0x10,第一个地址是s[0]的地址,即0x10
数组名称是数组的第一个地址,它是一个常量。
数组元素使用“[n]”运算符(下标运算符)表示元素n1,或使用“*(pn)”表示元素n1。
对于编译器,在支持快速下标操作的处理器上,[n]直接转换为汇编代码,不支持的转换为*(a,n)。
这就是为什么旧的c程序在大多数情况下不使用下标运算符的原因。