C 语言数组 ( 数组相关地址 | 数组首元素地址 | 数组地址 )

Posted 韩曙亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C 语言数组 ( 数组相关地址 | 数组首元素地址 | 数组地址 )相关的知识,希望对你有一定的参考价值。





一、数组相关地址



数组首元素地址 与 数组地址 值相等 ;

int array[10];
  • 其中 array + 1 的值是 array 地址 加上 4 4 4 字节 ;
  • 其中 &array + 1 的值是 array 地址 加上 40 40 40 字节 ;

1、数组首元素地址


数组首元素地址 : 数组名 , 就是 数组元素首地址 , 该值 是一个常量 , 不能被修改 , 一定程度上 等同于 常量指针 ;

数组名 常量 : 变量 本质 是 内存空间别名 , 一旦变量被声明 , 就必须为该变量分配对应内存 , 内存一旦分配 , 就是固定的 ;

如 : 在函数中定义 如下 局部变量 , 该数组一旦声明 , 就可以知道这是一个 40 40 40 字节的内存 , 已经在 栈内存分配完毕 , 数组的地址肯定就不能修改了 ;

int array[10];

2、数组地址


数组地址 : 下面的数组张红 ,&array 是数组的地址 ;

int array[10];




二、代码示例



代码示例 :

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

/**
 * @brief 主函数入口
 * @return
 */
int main()

    // 定义数组
    int array[10] = 0;

    // 打印数组首元素地址
    printf("array : %d\\n", array);
    // 打印数组首元素地址 + 1
    printf("array + 1 : %d\\n", array +1);

    // 打印数组地址
    printf("&array : %d\\n", &array);
    // 打印数组地址 + 1
    printf("&array + 1 : %d\\n", &array + 1);

    // 命令行不要退出
    system("pause");
    return 0;

执行结果 :

array : 6422184
array + 1 : 6422188
&array : 6422184
&array + 1 : 6422224
请按任意键继续. . .

以上是关于C 语言数组 ( 数组相关地址 | 数组首元素地址 | 数组地址 )的主要内容,如果未能解决你的问题,请参考以下文章

C 语言数组 ( 多维数组操作模型 | 取某个数组元素地址 | 取某个数组元素值 )

C语言数组指针&数组名和数组名数组是首元素地址(两特殊情况)数组指针访问二维数组数组指针的使用。

c语言之数组详解

c语言数组长度函数

零基础学C语言知识总结十:指针及其相关知识

在C语言中,数组作为参数,是怎样在函数之间传递的啊??