2022,4,19 指针数 李文

#include <stdio.h>

/*指针数组   本质上是一个数组

变量定义       int  a:数值数组    int    num[5];

指针变量定义    int  *p;

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

//二维数组   每一行都行地址num[i]    看成5个数组*/

int num[5][4]=

{

1,2,3,4,//num[0]行

5,6,7,8,//num[1]行

9,10,11,12,

13,14,15,16

17,18,19,20

};

//通过指针指向数组   存的所个地址

int number[4],*p=number;//p指向了number数组的首元素

//定义一个指针数组   存的多个地址

int *p_num[5]={NULL};

void main(void)

{

    int i;
    p_num[0]=num[0];

//指针数组的第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");

}

#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++)

{

p_num[i]=num[i];//指针数组的每一个元素分别指向二维数组每一行的首地址

}

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");

}

//通过指针数组对数组num进行输出

}

#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;

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[i]);
    }
    printf("\n");

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值