指针与二维数组
来源:互联网 发布:sqlite数据库加密 编辑:程序博客网 时间:2024/06/18 12:01
/************************
指针与二维数组
输入一个三行四列的数组,并输出元素值
用二维数组做函数形参
#include <stdio.h>
#define N 4 //此处N应与主函数二维数组第二列长度一致,否则报“数组下标不一致以及形参与实参类型不一致”
void InputArray(int p[][N],int m,int n) //形参声明为列数已知的二维数组,输入数组元素
{
int i,j;
for(i = 0;i<m;i++)
{
for(j = 0;j<n;j++)
{
scanf("%d",&p[i][j]);
}
}
}
void OutputArray(int p[][N],int m,int n) //形参声明为列数已知的二维数组,输出数组元素
{
int i,j;
for(i = 0;i<m;i++)
{
for(j = 0;j<n;j++)
{
printf("%4d",p[i][j]);
}
printf("\n");
}
}
int main()
{
int a[3][4];
printf("input 12(3*4) number:\n"); //输入溢出,不会写入数组
InputArray(a,3,4); //向函数传递二维数组第0行地址
OutputArray(a,3,4); //向函数传递二维数组第0行地址
return 0;
}
/**********************
用二维函数组的行指针作为函数形参
主函数调用函数变为指针
**********************/
#include <stdio.h>
#define N 4
void InputArray(int *p,int m,int n)
{
int i,j;
for(i = 0;i<m;i++)
{
for(j = 0;j<n;j++)
{
scanf("%d",&p[i*n+j]);
}
}
}
void OutputArray(int *p,int m,int n)
{
int i,j;
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
printf("%4d",p[i*n+j]); //数组元素的地址
}
printf("\n");
}
}
int main()
{
int a[3][4];
printf("input 12(3*4) number:\n");
InputArray(*a,3 ,4);
OutputArray(*a,3 ,4);
return 0;
}
指针与二维数组
输入一个三行四列的数组,并输出元素值
用二维数组做函数形参
*************************/
#include <stdio.h>
#define N 4 //此处N应与主函数二维数组第二列长度一致,否则报“数组下标不一致以及形参与实参类型不一致”
void InputArray(int p[][N],int m,int n) //形参声明为列数已知的二维数组,输入数组元素
{
int i,j;
for(i = 0;i<m;i++)
{
for(j = 0;j<n;j++)
{
scanf("%d",&p[i][j]);
}
}
}
void OutputArray(int p[][N],int m,int n) //形参声明为列数已知的二维数组,输出数组元素
{
int i,j;
for(i = 0;i<m;i++)
{
for(j = 0;j<n;j++)
{
printf("%4d",p[i][j]);
}
printf("\n");
}
}
int main()
{
int a[3][4];
printf("input 12(3*4) number:\n"); //输入溢出,不会写入数组
InputArray(a,3,4); //向函数传递二维数组第0行地址
OutputArray(a,3,4); //向函数传递二维数组第0行地址
return 0;
}
/**********************
用二维函数组的行指针作为函数形参
主函数调用函数变为指针
**********************/
#include <stdio.h>
#define N 4
void InputArray(int *p,int m,int n)
{
int i,j;
for(i = 0;i<m;i++)
{
for(j = 0;j<n;j++)
{
scanf("%d",&p[i*n+j]);
}
}
}
void OutputArray(int *p,int m,int n)
{
int i,j;
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
printf("%4d",p[i*n+j]); //数组元素的地址
}
printf("\n");
}
}
int main()
{
int a[3][4];
printf("input 12(3*4) number:\n");
InputArray(*a,3 ,4);
OutputArray(*a,3 ,4);
return 0;
}
阅读全文
1 0
- 二维指针与二维数组
- 二维数组与二维指针
- 二维数组与二维指针
- 二维数组与指针
- 二维数组与指针
- 二维数组与指针
- 指针与二维数组
- 指针与二维数组
- 二维数组与指针
- 二维数组与指针
- 指针与二维数组
- 二维数组与指针
- 二维数组与指针
- 指针与二维数组
- 二维数组与指针
- 二维数组与指针
- 二维数组与指针
- 二维数组与指针
- git gitlab 环境搭建
- TextSwitcher实现文字上下翻牌效果
- 第七届蓝桥杯A组随意组合
- Java获取class包内配置文件
- HDU5522【二分】&&HDU5523【。。】&&HDU5524【完全二叉树】
- 指针与二维数组
- 手写无缝滚动轮播图
- 剑指offer 对称二叉树
- python实现验证码生成显示
- Arduino IDE for ESP8266教程
- 【微营销】第4天 微营销实战技巧之微博发布规则
- 100个直接可以拿来用的JavaScript实用功能代码片段
- java jdk win配置环境变量
- docker-compose搭建Nginx+Tomcat负载均衡环境