c语言,数组指针

#include<stdio.h>


int main(void)


{
// int a[3][3]={{0},{0}};


int a[3][4] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int (*p)[4] = a;/*定义一个数组指针,存放二
 维数组中其中子数组的地,取代二位数组的*/
/* int (*p1)[3];
int *p2;
p1=a;
p2=&a[0][0];
printf("%p\n",*p1);
printf("%p\n",a);
printf("%d\n",a[0][0]);
printf("%d\n",*p2);
return 0*/


int i,j ;

for(i=0; i<sizeof(a)/sizeof(a[0]); i++)
{
for(j=0; j<sizeof(a[0])/sizeof(a[0][0]); j++)
{
printf("%d ", *(*(p+i)+j));
}
// p++;
}
printf("\n");


return 0;


}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言中,数组名可以看作是一个指向数组首元素的指针。因此,可以通过数组名来访问数组中的元素。同时,也可以使用指针来访问数组中的元素。这种指向数组指针被称为数组指针。 定义数组指针的一般形式为: ``` 数据类型 (*指针变量名)[元素个数]; ``` 其中,指针变量名是你定义的数组指针变量名,数据类型是数组中元素的数据类型,元素个数是数组中元素的个数。 例如,定义一个指向int类型,元素个数为5的数组指针变量可以这样写: ``` int (*p)[5]; ``` 使用数组指针变量访问数组元素时,需要使用指针运算符*来解引用指针,然后再使用下标运算符[]来访问元素。例如,访问第3个元素可以这样写: ``` *(p+2); ``` 这里的p+2表示将p指向的地址加上2个int类型数据大小,得到的新地址即为第3个元素的地址。然后使用解引用符号*来获取该地址对应的元素值。 还可以使用指针数组来表示数组指针指针数组就是一个数组,其每个元素都是一个指针。例如,定义一个指向int类型,元素个数为5的指针数组可以这样写: ``` int *p[5]; ``` 使用指针数组来访问数组元素时,可以直接使用下标运算符[]来访问元素。例如,访问第3个元素可以这样写: ``` p[2]; ``` 这里的p[2]表示指针数组中第3个元素的地址,可以直接使用该地址来访问元素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值