c语言 指针数组 数组指针

来源:互联网 发布:iris pro 6200 mac 编辑:程序博客网 时间:2024/05/18 17:02
(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 0
原创粉丝点击