2022 4 19 C语言指针数组

#include<stdio.h>

//指针数字   本质是一个数组

//变量定义    int  a;数值数组     int num[5];//当前数组中 里面存储的内容 比如10,9,8,7,6

//指针变量定义 int *num[5];//在指针数组中 里面的存储的内容是5个地址

//二维数组 每一行都行地址num[i]       着成5个一维数组
int num[5][4]=
{
    1,2,3,4,
    5,6,7,8,
    9,10,11,12,
    13,14,15,16,
    17,18,19,20
};

//通过指针指向一维数组
int number[4],*p=number;

//定义一个指针数组  存的多个地址
int *p_num[5]={NULL};
void main(void)
{
    /*p_num[0]=num[0];
    for(p_num[0]=num[0];p_num[0]<&num[0][4];p_num[0]++)


    {
        printf("%d\t",*p_num[0]);

    }
    printf("\n");*/
    int i;
    for(i=0;i<5;i++)
    {
        p_num[i]=num[i];//指针数组的每一个元素分别指向了二维数组每一行的首地址
    }

//通过指针数组对数组num进行输出
    for(i=0;i<5;i++)
    {
        for(p_num[i]=num[i];p_num[i]<&num[i][4];p_num[i]++)
        {
            printf("%d\t",*p_num[i]);
        }
        printf("\n");
    }

}

#include<stdio.h>
int num[5][4]=
{
    1,2,3,4,
    5,6,7,8,
    9,10,11,12,
    13,14,15,16,
    17,18,19,20
};
int number[4],*p=number;
int *p_num[5]={NULL};

void main(void)

{

int i,j;

for(i=0;i<5;i++)

{

     f or(j=0;j<4;j++)

     {

       printf("%d\t",p_num[i][j])

      }

}

}

#include<stdio.h>
int num[5][4]=
{
    1,2,3,4,
    5,6,7,8,
    9,10,11,12,
    13,14,15,16,
    17,18,19,20
};
int number[4],*p=number;
int *p_num[5]={NULL};
void main(void)
{

int i,j;

for(i=0;i<5;i++)

{

          for(j=0;j<4;j++)

          {

                printf("%d\t",*(*(p_num+i)+j);//*(p_num+i)<==>p_num[i]<==>&num[i][0]//p_num[i]+j==>&num[i][j]

          }

         printf("\n")

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值