C语言动态数组的“下标”访问

C语言动态内存使用灵活,动态二维数组却不能像声名的数组那样直接用下标操作,想用下标还得需要额外的指针数组,最近发现用宏可以假装一下:(新手欢迎不要吐槽…)

#include<stdio.h>
#include<stdlib.h>
#define pi(m,n) (*(*(ver+(m))+(n)))
//pindex
main()
{
typedef	 float (* VER)[3];
VER ver;
float *p;

p=(float *)malloc(sizeof(float)*30);
ver=(VER)p;

*(p+3)=333.0;
*(p+4)=111.0;

pi(1,3)=251.0;


printf("%.2f\n",*(*(ver+1)+1));	//相当于+3+1=4; 
printf("%.2f\n",pi(1,1));//相当于+3+1=4; 
	
}


运行结果:就是那个111.00。。

  • 1
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值