c语言 指针数组 数组指针

(1)int *p[4]: 定义的时指针数组。因为优先级关系,p先于[]结合,说明p是一个数组,然后在于*结合,说明数组p的元素是指向整型数据的指针,相当于4个整型指针变量,用于存放地址单元。

(2)int(*p)[4]:定义的是数组指针,p先于*结合,形成一个指针,该指针指向的是有4个整型元素数组,p即为指向数组首元素地址的指针。


#include <stdio.h>
int main()
{
    int arr[4][4]={0,1,2,3,4,5,6,7,
            8,9,10,11,12,13,14,15};
    int(*p1)[4];  //数组指针
    int *p2[4];   //指针数组
    int i,j,k;
    p1=arr;

    /*******使用数组指针访问********/
    printf("使用数组指针访问\n");
    for(i=0;i<4;i++)
    {
        for(j=0;j<4;j++)
        {
            printf("%d\t",*(*(p1+i))+j);
        }
        printf("\n");

    }
    /*********使用指针数组访问*****/
     printf("使用指针数组访问\n");
    for(k=0;k<4;k++)
    {
        p2[k]=arr[k];
    }
    for(i=0;i<4;i++)
    {
        for(j=0;j<4;j++)
        {
            printf("%d\t",*(p2[i]+j));
        }
        printf("\n");
    }
    return 0;
}



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值