Hirdetés
- Minimális változásokat hozhat a Google Pixel 10a
- Nagyon jól néz ki a Nothing Phone (3a) limitált kiadása
- Kiegészítőkkel készül karácsonyra a Xiaomi
- Apple iPhone 17 Pro Max – fennsík
- Vivo X300 - kicsiben jobban megéri
- Apple iPhone Air - almacsutka
- Megbüntették, ezért feloszlatná az EU-t Elon Musk
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Google Pixel topik
- Okosóra és okoskiegészítő topik
Ú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
- Bluetooth hangszórók
- NFL és amerikai futball topik - Spoiler veszély!
- EA Sports WRC '23
- Eredeti játékok OFF topik
- Okos Otthon / Smart Home
- PROHARDVER! feedback: bugok, problémák, ötletek
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Apple asztali gépek
- Több száz játékban kezdi meg karrierjét az FSR Redstone
- LEGO klub
- További aktív témák...
- Ryzen5 4500/ RX5700XT/ 16GB DDR4 alapú konfig/ garancia/ ingyen foxpost
- HP ProDesk 600 G3 SFF PC, 6. generációs i5-6500 Proci, Jogtiszta Windows 11
- Asus TUF Gamer PC, i9, TUF B560M-Plus, TUF RTX 3060 TI, 32 Gb, 1,5 Tb SSD, Liquid Cooling, ARGB
- Iphone X 64gb Space Grey független 100% akku
- X1 Carbon 9th 14" FHD+ IPS i7-1185G7 16GB 256GB NVMe magyar vbill ujjolv IR kam gar
- Samsung Galaxy A33 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- HIBÁTLAN iPhone 13 256GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3732
- AKCIÓ! Apple Mac Studio M1 MAX 2022 32GB 512GB számítógép garanciával, hibátlan működéssel
- MacBook Pro 13, 14, 15, 16, MacBook Air M1, M2 M3 M4 bill magyarosítás lézerrel / sapkacserével
- Bomba ár! HP Probook 450 G10 - i3-1315U I 16GB I 256SSD I 15,6" FHD I W11 I Cam I Garancia!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi


