Ahoj, mám takový malý ale velký problém, ale malý problém.
Progáme, ketý si píšu,nemá sloužit k ničemu jinému než abych se něco naučil. Mám dynamicky vytvořené pole. Ale nedaří se mi přistupovat k prvkům pole, Když změním jeden, tak se změní všechny.Ukázka toho jak jsem pole vytvořil a jak k prvkům pole přistupuji vypadá takto:
cout << "Zadejte velikost pole: ";
cin >> N;
sizeP = sizeof(int);
P = (TPole*) malloc(N * sizeP);
VelP = N;
for(i=0; i<=VelP; i++) {
*(P[0]+sizeP)=i;
}
a pro úplnost pole je deklarované takto:
typedef
int TPole[0];
TPole* P;
Mohla by mi nějaká dobrá duše říci co dělám špatně.
Možná pole špatně deklaruji. Možná k němu špatně přistupuji. Možná je tocelé špatně.
Má to i jiné mouchy, někdy to vyhodí přetečení a také si nejsem jist jestli příkaz free, který je v kompletním zdrojovém kódu opravdu uvolní paměť, neboť když ho použiji a přitom sleduji kolik paměti program bere, tak nevidím že by se paměťové nároky zmenšili
Přikládám i celý zdrojový soubor, kteý jde zkompilovat.
Díky moc