Variable/fi
English · Français · Suomi · Русский
Muuttuja
Muuttuja on tunniste, joka liittyy muistiin, joka voidaan tarkastaa (tai lukea) ja käsitellä ajon aikana.
Määrittely
Muuttujat määritellään var-osiossa. Pascalissa jokaisella muuttujalla on tietotyyppi, joka on jo tunnettu käännösaikana (Tai sen data typpi on variant). Muuttuja ilmoitetaan (tunniste, tietotyyppi) parina, erotettuna kaksoispisteellä. Muuttujat määritellään var osiossa.
var
foo: char;Tietotyypin tilavaatimusten mukaan pino pitää varatun muistin määrän heti, kun vastaava laajuus syötetään. Riippuen siitä, mihin var-osio on sijoitettu, voidaan "puhua" joko globaaleista tai paikallisista muuttujista.
Käsittely
Muuttujien arvoja käsitellään saa arvokseen operaattorilla := Tämän lisäksi on joukko sisäänrakennettuja aliohjelmia jotka määrittää implisiittisesti arvot muuttujalle:
- input/output rutiinit kuten,
getjaput, read jareadLn,assignjaclose newjadisposekun käsitellään osoittimia ja olioitasetLengthkun käsitellään dynaamisia taulukoita
Määrittely
Muuttuja voidaan määritellä niin että se on esitelty ja alustettu yhdellä lausekkeella seuraavasti:
var
x: integer = 42;Huomaa, että tämä syntaksi ei ole alkuperäistä Pascalia. Siinä esittely ja tehtävät pidetään erillään suunnittelusta. Tämä syntaksi rikkoo tätä periaatetta.
Saatavuus
Muuttuja on saatavilla, mikä tarkoittaa sitä, että viitataan viitattuun muistipaikkaan arvoon yksinkertaisesti määrittelemällä sen tunnus (missä tahansa lauseketta odotetaan).
Huomaa, että on olemassa pari tietotyyppiä, jotka ovat itse asiassa viitteitä, mutta jotka poistetaan automaattisesti, mukaan lukien, mutta ei rajoittuen, luokat, dynaamiset taulukot ja ANSI-merkkijonot. Kun {$modeSwitch autoDeref+} (ei suositella), myös tyypitetyt osoittimet poistetaan hiljaa ilman, että ^ ("hattu symboli") on läsnä. Tämä tarkoittaa, että ettei välttämättä toimi varsinaiseen muistilohkoon, johon muuttuja on aidosti yhteydessä, mutta jossain muualla.
Yleensä muuttujan muistipalaa tulkitaan sen tietotyypin mukaan, jossa se on määritelty. 'Typecastauksen' avulla voidaan muuttaa tietyn muuttujan muistilohkoa (ilmaisua kohti).
Muisti alias
Avainsanan absolute yhteydessä tunniste voidaan liittää aiemmin varattuun muistiin. Vaikka tavallisesti (tunniste, tietotyyppi)-pari asettaa tietyn määrän muistia syrjään, seuraava c:n esittely ei vie mitään lisätilaa, vaan linkittää tunnisteen c muistilohkoon, joka on varattu xlle:
var
x: byte;
c: char absolute x;Tässä muistialiasta käytettiin yhtenä strategiana vakuuttamaan kääntäjä sallimaan char type-tyyppiä koskevat toiminnot, kun taustalla oleva muisti oli alunperin varattu byte-tyyppiselle arvolle. Tämä ominaisuus on valittava viisaasti. Se edellyttää että on tietoa tietotyypin muistirakenteesta, joka ei aiheuta minkäänlaista käyttöoikeusvirhettä.
Tärkeintä on, että tällä tavoin ylimääräisesti viitattu muisti käsitellään ikään kuin se olisi määritelty normaalien sääntöjen mukaisesti.
Katso myös
From the Free Pascal wiki, page "Variable/fi", as it stood on 2022-08-06 after a change by Kai Burghardt, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.
Talk about this page
Nobody has opened a bench for this page yet. Sign in to open one.
