[elektro] többdimenziós struktúra c++
Balla Zoltán
sdrlab at yandex.ru
Tue Jun 4 12:32:25 CEST 2013
Feladó: "Palasik Sandor" <palasik at mail.datanet.hu>
> Ha kicsit beleásod magad, akkor rájöhetsz, hogy egy több dimenziós tömböt
> csak több adattal lehet leírni, míg a C minden paraméterhez csak egy adatot
> ad át, konkrétan a tömböknek csak a címét. Nincs olyan varázslás, amivel ezt
> az ellentmondást fel tudod oldani. Olyan sincs, hogy futásidőben árulod el,
> hogy egy több dimenziós struktúrának mik a dimenziói, ezt tudnia kell
> fordításkor. Fortranban van ilyen, C-ben nincs.
>
Az ok, de én tudom is már fordításkor, mik a dimenziói az átadott tömbnek, és azt szeretném, ha az
ezen a címen található adatokat, én C-ben a megfelelő ismert struktúra, ismert dimenziói szerint
kezeljem. Ennél több adat nem is kell ide, és ez mind rendelkezésre is áll, de nem tudom rábírni,
hogy abból a címből egy meghatározott dimenziójú, struktúrájú tömböt képezzen nekem...
> Ha meg akarsz maradni a X[I][J] jellegű indexelésnél tetszőleges méretű
> tömbökkel, akkor csinálnod kell egy pointerekből álló tömböt, valahogy így:
>
> VALAMI XA[10][20];
> VALAMI *X[10];
>
> for (i=0;i<10; i++)
> X[i] = XA[i];
>
> Ezután az X-et átadhatod egy olyan függvénynek, aminek a paramétere (VALAMI
> **z) és tudod indexelni z[i][j] formában.
>
Ezen majd még gondolkodom... Feltölteni a címből származtatott adatokkal egy előre elkészített
tömböt fel tudok, és azt már használhatom a kívánt módon, de én pont ezt a fölösleges lépést
szeretném kihagyni, és azonnal az adatokat elérni, nem közvetett módon, előzetes másolással...
Zoli
More information about the Elektro
mailing list