文章目录
一、数组相关地址
1、数组首元素地址
2、数组地址
二、代码示例
一、数组相关地址
数组首元素地址 与 数组地址 值相等 ;
int array[10];
其中 array + 1 的值是 array 地址 加上 4 44 字节 ;
其中 &array + 1 的值是 array 地址 加上 40 4040 字节 ;
1、数组首元素地址
数组首元素地址 : 数组名 , 就是 数组元素首地址 , 该值 是一个常量 , 不能被修改 , 一定程度上 等同于 常量指针 ;
数组名 常量 : 变量 本质 是 内存空间别名 , 一旦变量被声明 , 就必须为该变量分配对应内存 , 内存一旦分配 , 就是固定的 ;
如 : 在函数中定义 如下 局部变量 , 该数组一旦声明 , 就可以知道这是一个 40 4040 字节的内存 , 已经在 栈内存分配完毕 , 数组的地址肯定就不能修改了 ;
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 请按任意键继续. . .