C语言如何动态分配二维数组?
使用malloc函数,先分配第一维的大小,然后再循环分配每一维的大小。示例代码,分配3行4列二维数组:
#include <stdio.h>#include <malloc.h>int main(){ int **a; int i, j; a = (int**)malloc(sizeof(int*)*3)
;//为二维数组分配3行 for (i = 0; i < 3; ++i){//为每列分配4个大小空间 a[i] = (int*
)malloc(sizeof(int)*4); } //初始化 for (i = 0; i < 3; ++i){ for (j = 0; j < 4; ++j){ a[i][j] = i+j; } } //输出测试 for (i = 0; i < 3; ++i){ for (j = 0; j < 4; ++j){ printf ("%d ", a[i][j]); } printf ("\n"); } //释放动态开辟的空间 for (i = 0; i < 3; ++i){ free(a[i]); } free(a); return 0;}/*输出:0 1 2 31 2 3 42 3 4 5*/
C语言编程,二维数组,输出一个2*3的矩阵?
#include<stdio.h>
void main()
{
int a[2][3];
int i,j;
printf("输入一个2*3整型数组\n");
for(i=0;i<2;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
printf("\n输出一个2*3整型数组\n");
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
printf("%d ",a[i][j]);
printf("\n");
}
}
C语言二维数组咋存储?
C语言中二维数据的存储方式是:行式存储,二维数组本质上是以数组作为数组元素的数组,即“数组的数组”,类型说明符 数组名[常量表达式][常量表达式]。二维数组在概念上是二维的,即是说其下标在两个方向上变化,下标变量在数组中的位置也处于一个平面之中, 而不是象一维数组只是一个向量。
c语言如何实现多行输出?
要实现多行输入,再多行输出,可采用数组协助实现,方法如下:
方法一:将已输入的数据先保存到数组(二维数组)中,然后再进行数据计算并输出结果
方法二:输入时,完成计算,将结果存储到数组(一维数组)中,全部计算完成,输出结果数组。
采用哪一种方法,要看上体题目特点和要求。
如,题目:输入n行整数,输出每行的平均数 (可采用方法二)
还没有评论,来说两句吧...