您的位置:首页 > 科技 > IT业 > 独特新颖的工作室名字_51比购网官方网站_2345网址导航官网官方电脑版下载_福州网站建设方案外包

独特新颖的工作室名字_51比购网官方网站_2345网址导航官网官方电脑版下载_福州网站建设方案外包

2025/4/16 16:31:52 来源:https://blog.csdn.net/weixin_51953078/article/details/146441226  浏览:    关键词:独特新颖的工作室名字_51比购网官方网站_2345网址导航官网官方电脑版下载_福州网站建设方案外包
独特新颖的工作室名字_51比购网官方网站_2345网址导航官网官方电脑版下载_福州网站建设方案外包

指针数组其实就是相同数据类型和存储类型的指针变量组成的集合

指针数组和前面提到的数组,字符数组,字符串数组一样都是数组,区别就是他们组成的元素不同

一般说明形式:
<存储类型> <数据类型> *<指针数组名称> [<大小>]

int *p[2],a[2][3]

将数组a[0]和a[1]的首地址分别赋给指针数组pa的数组元素pa[0],pa[1]

pa[0] = a[0];//pa[0] = &a[0][0]

pa[1] = a[1]; //pa[1] = &a[1][0]

#include <stdio.h>int main()
{int a[]={1,2,3,4,5};int *p[2];p[0] = a;p[1] = a+2;printf("%p\n",p[0]);printf("%p\n",&a[0]);printf("%p\n",p[1]);printf("%p\n",&a[2]);return 0;
}

运行程序我们可以发现,p[0]的地址和a[0]地址相同,p[1]的地址和a[2]地址相同。所以我们可以发现,指针数组p[0]包含两个元素,分别是a[0]和a[1]的地址值,输出地址时输出的是a[0]的首地址,以此类推。一维数组和指针数组的关系如下图

 用指针数组计算二维数组元素之和

#include <stdio.h>int main()
{int a[][3]={{1,4,7},{2,5,8},{3,6,9}};int *p[3];int i=0,j=0;int sum1=0,sum2=0;for(i=0;i<3;i++){for(j=0;j<3;j++){p[i] = a[i];sum1 += p[i][j];sum2 += *(p[i]+j);printf("%d ",p[i][j]);}puts("");}printf("%d %d\n",sum1,sum2);return 0;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com