C语言中数组首地址和数组第一个元素的地址有什么区别呢

Python020

C语言中数组首地址和数组第一个元素的地址有什么区别呢,第1张

C语言中数组地址和数组第一个元素的地址关系如下:

1、它们的地址值是相等的。

2、第1个元素的地址如果是p,则p+1就是第2个元素的地址。

3、数组的首地址如果是p,则p+1就跳过这个数数组而指向这个数组最后一个元素最后一个字节的下一字节。

扩展资料:

数组的创建:在创建数组时,我们必须定义数组的类型和大小,数组的大小不能为0,数组中的元素类型都是相同的。

数组的初始化:在数组创建时,我们也要必须为数组初始化。

一个数组,可以保存一些数据,但是每一个数据不一定有用。或者说,有些时候的数组的数据不一定要输出,所以我们可以再来开一个相同的数组,来标记模拟是否输出数组中的某个元素。

参考资料来源:百度百科-数组

参考资料来源:百度百科-c语言

本质上,起始地址和首地址没有区别,对同一个数组来说,它们是同一个地址。

其实这两个说法没有很明确的概念,只是按照惯例,经常会说:

数组名,是数组在内存中连续存储单元的首地址

数组的指针,是数组的起始地址

只是按照数组方式说明和按照指针方式说明罢了,如果非要说有区别,就是数组方式访问和指针方式访问的区别,a[i++]的访问不会改变a的地址,但如果 *p=ap++会修改指针的起始地址。