C语言 二维数组指针(一)

运行结果截图:

 

 代码:

#include <stdio.h>

int main() {

// 定义一个二维数组并初始化
int array[4][5] = {0};
// 定义一个整型二维数组指针p,并初始化将其指向二维数组array
int (*p) [5]= array;
int i;
int j;
int k = 0;

printf("array[4][5] is:\n");
// 给二维数组的各个元素赋值
for(i = 0;i < 4;i++)
{
for (j = 0; j < 5; j++)
{
array[i][j] = k++;
printf("%d ", array[i][j]);
}
printf("\n");
}
printf("\n");

// * ( * (array + 3) + 2)) 相当于 array[3][2],也即array数组的第4行第3列元素的值

// 数组下标方式定位到二维数组array的第1行第1列,打印该位置的数组元素的值
printf("array[0][0]: %d\n", array[0][0]);
//指针定位到二维数组array的第1行第1列,对指针解引用,获得该位置的数组元素的值
printf("* * array: %d\n", * * array);

// 数组下标方式定位到二维数组array的第2行第1列,对指针解引用,获得该位置的数组元素的值
printf("array[1][0]: %d\n", array[1][0]);
//指针定位到二维数组array的第1行第2列,对指针解引用,获得该位置的数组元素的值
printf("* * (array + 1): %d\n", * * (array + 1));
printf("* * (p + 1): %d\n", * * (p + 1));

// 数组下标方式定位到二维数组array的第3行第4列,对指针解引用,获得该位置的数组元素的值
printf("array[2][3]: %d\n", array[2][3]);
// 指针定位到二维数组array的第3行第4列,对指针解引用,获得该位置的数组元素的值
printf("* ( * (p + 2) + 3): %d\n", * ( * (p + 2) + 3));

printf("\nmain() finished...\n");
return 0;
}
posted @   JohnnyH  阅读(336)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示