?? 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 + -