指针数组和数组指针
2015-06-04 14:04
246 查看
1.利用指针数组求二维数组元素的和
2.利用数组指针来求二维数组的和
//len1二维数组的行数 //len2二维数组的列数 int getSum(int *a[],int len1,int len2) { int sum = 0; for(int i=0;i<len1;i++) { for(int j=0;j<len2;j++) { // sum += a[i][j]; // sum += (*(a+i))[j]; sum += *((*(a+i))+j); } } return sum; } int main() { int a[3][2] = {1,2,4,5,6,6}; int *p[3] = {NULL}; for(int i=0;i<3;i++) { p[i] = a[i]; } printf("sum = %d",getSum(p, 3, 2)); return 0; }
2.利用数组指针来求二维数组的和
int sum1(int (*p)[2],int len) { //传递一维数组的指针 int sum = 0; for(int i=0;i<len;i++) { for(int j=0;j<2;j++) { sum += *(*(p+i)+j); } } return sum; } int sum2(int (*p)[3][2]) { //传递二维数组的指针 int sum = 0; for(int i=0;i<3;i++) { for(int j=0;j<2;j++) { //sum += (*p)[i][j]; sum += *(*(*p+i)+j); } } return sum; } int main() { // printf("size = %ld\n",sizeof(int [4])); int a[3][2] = {1,2,4,5,6,7}; printf("sum1 = %d\n",sum1(a, 3)); printf("sum2 = %d\n",sum2(&a)); return 0; }
相关文章推荐
- 限制输入的次数用到while循环
- 苹果IOS内置应用介绍
- 自定义ASP.NET Identity(二)- 修改ASP.NET Identity的用户主键
- PICT的安装及使用
- 数据集合
- WCF(二) endpoint
- C#实现json的序列化和反序列化
- SQL处理XML
- 辨别 “百度权重”作弊的手法
- call_user_func_array函数
- 数字视频概述
- 使用 ftrace 调试 Linux 内核 (二)
- 【莫比乌斯反演】[BZOJ2820]YY的GCD
- 开发中遇到的问题(2015-06-04)
- Android解析XML资源
- GIT
- 关于MySQL5.6.25在Win7 64bit下重装后无法启动的解决方法
- 003-C运算符
- VS 插件
- 纸上得来终觉浅