Egalitatea ptr = getArray() este adevarata si totusi unele elemente ale matricei sunt afisate de doua ori, altele deloc.
Code: Select all
#include <iostream>
#define ROW 3
#define COL 4
using namespace std;
int main()
{
int (*ptr)[COL][ROW];
int (*getArray())[COL][ROW];
ptr = getArray();
cout << "\n Array tab[][] in main(): " << endl << endl;
for (int i=0; i<ROW; i++)
{
for (int j=0; j<COL; j++)
cout << " " << (*ptr)[i][j];
cout << endl;
}
return 0;
}
int (*getArray())[ROW][COL]
{
static int tab[ROW][COL] = {
31, 32, 33, 34,
41, 42, 43, 44,
51, 52, 53, 54,
};
cout << "\n Array tab[][] in getArray(): " << endl << endl;
for (int i=0; i<ROW; i++)
{
for (int j=0; j<COL; j++)
cout << " " << tab[i][j];
cout << endl;
}
return (int(*)[ROW][COL])tab;
}