找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 893|回复: 3
收起左侧

有没有自动指针访问数组的方法

[复制链接]
ID:526108 发表于 2023-1-18 14:15 | 显示全部楼层 |阅读模式
01[G0R1~KCJ`X~@QAH4TN[I.png

我有一些长度不一的数组,需要通过一个指针访问所有的数组

指针如何识别不同长度的数组,也就是公式中出现*3、*6自动匹配
回复

使用道具 举报

ID:1056573 发表于 2023-1-18 23:54 | 显示全部楼层
一个数组的内的变量都是连续存储的,用指针访问一个数组,只需将数组内各行的地址赋给指针,然后用指针连续访问数组内的各个变量:
即先定义相同数据类型的指针数组char *p[R];//R为所有数组最长行数
int m=0;
while(a[m]!=false)
{
   p[m]=a[m];
   m++;
}
for (int i=0;i<m;i++)
while(a[i][j]!=false)
{
  a[i][j]=*(p[i]+j);//指针访问数组内所有变量
   j++;
}
访问其它数组以此类推。
回复

使用道具 举报

ID:629502 发表于 2023-1-19 08:32 | 显示全部楼层
没搞懂啥意思,指针直接指向数组就行了吧,和数组长度没关系吧,就是自己访问的时候注意就行
回复

使用道具 举报

ID:1043388 发表于 2023-1-20 09:47 来自手机 | 显示全部楼层
没看懂,本质上所有多维数组都是一维数组的变相,所以都可以直接指针操作,算好地址就行,楼主写的确实没看懂
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表