【快速学】多维数组,多级指针加减运算
引子:a是1级指针,a+1相当于改变了数组从右往左数第1个下标的值。
总结:
p是i级指针,p+1相当于改变了数组从右往左数第i个下标的值。
单位增量=对应下标右边的下标相乘
定义一个4维数组,并进行指针的加减运算:
#include<stdio.h>
int main()
{
int a[5][6][7][8]={};
printf("a=%u\n",a);
printf("a+1=%u\n",a+1); //4级指针 ,相当于改变从右到左数,第4个下标的值
printf("*a+1=%u\n",*a+1); //3级指针 ,相当于改变从右到左数,第3个下标的值
printf("**a+1=%u\n",**a+1); //2级指针 ,相当于改变从右到左数,第2个下标的值
printf("***a+1=%u\n",***a+1); //1级指针 ,相当于改变从右到左数,第1个下标的值
return 0;
}
运行结果:
a=6480848
a+1=6482192
*a+1=6481072
**a+1=6480880
***a+1=6480852
解释:
6482192-6480848=1344,一个int占4个字节,1344/4=336=6*7*8
假设a处存储的值用a[x][y][z][w]表示,则a+1处存储的值可用a[x+1][y][z][w]表示
a为4级指针,他的加减运算相当于改变了x的值,即数组从右往左数第4个下标的值
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具