📄 c语言与c++二维阵列传递与二维阵列转一维阵列函数.txt
字号:
虽然一般书上都有教阵列如何传递,但是大都只教导一维阵列的方法,本次想要和大家分享纯C/C++二维阵列传递与二维阵列转一维阵列函数
#include <stdio.h>
/*
由程式可以发现由二维转一维就可以不用指定阵列维度,程式更灵活
但缺点是要有转换公式
*/
void ShowArray(int *a)
{
int i,j,k;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
k=j+i*(j+1);//二维转一维公式:column + row*「实际行数」
printf("intarray[%d][%d]=%d\t",i,j,a[k]);
}
printf("\n");
}
}
void ShowArray(int a[][3])//传送二维阵列時必须清楚说明『行数』
{
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("intarray[%d][%d]=%d\t",i,j,a[j]);
}
printf("\n");
}
}
void main(void)
{
int i,j,k;
int *pintarray;
int intarray[3][3];
k=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
k++;
intarray[j]=k;
}
ShowArray(intarray);
pintarray=(int*)intarray;
printf("二维转一维列印\n");
ShowArray(pintarray);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -