C语⾔中如何定义动态⼆维数组并输出
可以按照下⾯步骤进⾏定义⼆维数组并输出:
1 定义段子大全爆笑 ⼆维指针。
2 确定数组维数,即⾏数和列数。
3 申请⾏数个⼀维指针⼤⼩空间,并赋值给⼆维指针。
4 对于每个⼀维指,申请列数个元素的空间,并赋值给对应的⼀猪肺怎么做好吃又简单 维指针。
5 输⼊或赋值数据。
6 使⽤双重循环,逐个范围存储单元并输出。
7 逐个释放⼀维指针上的内存。
8 释放⼆维指针上的内存。
以整型⼆维数组为例:
下⾯的代码,实现先输⼊⼆维数组的⾏数m和列数n,并再输⼊m*n个整型数据存到动态⼆维数组中。最后输出所有⼆维数组的元素值。
int main()
{
int **p; //定义⼆维指针。
杭州安全平台 int m, n; //⾏数和列数。
int i,j;
scanf ( "%d%d" , &m, &n); //输⼊⾏数和列数。
卫生手抄报 if (m <= 0 || n <= 0) return -1; //⾏数或列数⾮法。
p = ( int **) malloc ( sizeof ( int *) *m); //申请⼀组⼀维指针空间。
for (i = 0; i < m; i ++)
中国航天英雄 p[i] = ( int *) malloc ( sizeof ( int ) * n); //对于每个⼀维指针,申请⼀⾏数据的空间。
for (i = 0; i < m; i ++)
for (j = 0; j < n; j ++)
scanf ( "%d" ,&以雪为主题的作文 p[i][j]); //输⼊第i⾏第j列的数据。其中&p[i][j]也可以写作p[i]+j或者是 *(p+i) + j. 功能相同。
printf ( "输⼊的数组为%d⾏%d列:n" , m, n);
定冠词的用法 for (i = 0; i < m; i ++)
{
for (j = 0; j < n; j ++) //这个美联储加息是什么意思 循环可以输出⼀⾏元素。
p申论素材 rintf ( "%d " , p[i][j]); //输出i⾏j列的元素。
printf ( "n" ); //每⾏输⼊结束加换⾏符。
}
//释放内存
for (i = 0; i < m; i ++)
free (p[i]);
free (p);
return 0;
}
本文发布于:2023-04-27 15:22:07,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/fan/82/517598.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |