Új hozzászólás Aktív témák
-
válasz
Csucsy1991 #2331 üzenetére
Hali!
Úgy látom ezek szerint az alapokkal is gondod van, de nem baj, ezért van ez a fórum, hogy lehessen kérdezni...
Egy kis elmélet az elején(tényleg nagyon dióhéjban):
A DINAMIKUS VÁLTOZÓK=MUTATÓK vagy angolul POINTEREK
Turbo Pascalban a dinamikus változók az ugynevezett HEAP-ben tárolódnak, magyarul ha jól emlékszem HALOM vagy HALOMTERÜLET néven említik a szakkönyvek.MAXAVAIL függvény: a legnagyobb összefüggő blokk méretét adja vissza a HEAP-ben.
NEW függvény: létrehoz a HEAP-ben egy dinamikus változót és a címét elhelyezi benne
DISPOSE függvény: felszabadítja a dinamikus változót a HEAP-benMindezek után a program, ami egy 4 integer tárolására alkalmas tömböt tölt fel ill. ír ki, dinamikus változó(POINTER) segítségével.(persze a TOMB_MERETE konstans módosításával más méretű tömb is kezelhető)
program pointer1;
uses
Crt;
const
TOMB_MERETE=4;
Type
tomb = array[1..TOMB_MERETE] of Integer;
tombptr = ^tomb;
var
i:integer;
MyTombPtr:tombptr;
begin
ClrScr;
Writeln('Dinamikus valtozo(POINTER) hasznalata. 1 pelda');Writeln;
Writeln('A tomb elemeinek szama: ',TOMB_MERETE,' db integer');
Writeln('A tomb merete byte-ban: ',sizeof(tomb));
Writeln('A tomb meretenek megfelelo hely lefoglalas a HEAP-ben');
{ellenőrizzük, hogy van-e elég szabad hely a HEAP-ben a tömb számára}
if maxavail<sizeof(tomb) then
begin
Writeln('Nincs elegendo hely a tomb szamara a HEAP-ben, a program ENTER-re kilep...');
Readln;
Halt;
end;
{helyet foglalunk a tömb számára}
New(MyTombPtr);
Writeln;
Writeln('A tomb elemeinek beolvasasa');
for i:=1 to TOMB_MERETE do
begin
Write('Kerem a tomb ',i,'. elemet: ');
Readln(MyTombPtr^[i]);
end;
Writeln;
Writeln('A tomb elemeinek kirasa');
for i:=1 to TOMB_MERETE do
begin
Writeln('A tomb ',i,'. eleme: ',MyTombPtr^[i]);
end;
{felszabadítjuk a korábban lefoglalt helyet}
Dispose(MyTombPtr);
Writeln;
Write('A program ENTER-re kilep...');
Readln;
end.Remélem, ez a példa segít megérteni a MUTATÓK vagy POINTER fontosságát, illetve azok használatának egyszerűségét...
Fire.
Új hozzászólás Aktív témák
- iPhone topik
- AMD vs. INTEL vs. NVIDIA
- Küszöbön az androidos PC-k
- Gumi és felni topik
- Call of Duty Next 2025 - Amit az idei résztől várhatunk
- Milyen okostelefont vegyek?
- Kuponkunyeráló
- Brogyi: CTEK akkumulátor töltő és másolatai
- Mikrotik routerek
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- További aktív témák...
- BESZÁMÍTÁS! Intel Core i7 4790 4 mag 8 szál processzor garanciával hibátlan működéssel
- BESZÁMÍTÁS! ASUS B760M i7 13700K 32GB DDR4 512GB SSD RX 6800XT 16GB Phanteks Eclipse P400 Glacier
- Samsung Galaxy A53 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- HIBÁTLAN iPhone 13 mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3139, 95% Akkumulátor
- Ravpower 6000 mAh-s mégis pici powerbank eladó
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest