Vad är en variabel?

En variabel är ett namn på en plats i datorns minne där du lagrar en del data.

Föreställ dig ett mycket stort lager med massor av lagringsplatser, bord, hyllor, specialrum etc. Dessa är alla platser där du kan lagra något. Låt oss föreställa oss att vi har en låda med öl i lagret. Var exakt ligger den?

Vi skulle inte säga att det är lagrat 31 '2 "från västväggen och 27' 8" från norra väggen. I programmeringsmässiga termer skulle vi inte heller säga att min totala lön som betalats i år lagras i fyra byte från 123,476,542,732 plats.

Data på en PC

Datorn kommer att placera variabler på olika platser varje gång vårt program körs. Men vårt program vet exakt var data finns. Vi gör detta genom att skapa en variabel för att hänvisa till den och sedan låta kompilatorn hantera alla smutsiga detaljer om var den faktiskt ligger. Det är mycket viktigare för oss att veta vilken typ av data vi lagrar på platsen.

I vårt lager kan vår låda ligga i sektion 5 i hyllan 3 i dryckesområdet. På PC: n vet programmet exakt var dess variabler finns.

Variabler är tillfälliga

De existerar precis så länge de behövs och sedan kasseras. En annan analogi är att variabler är som siffror i en kalkylator. Så snart du trycker på rensnings- eller avstängningsknapparna förloras displaynumren.

Hur stor är en variabel

Så stor som behövs och inte mer. Den minsta en variabel kan vara är en bit och den största är miljoner byte. Nuvarande processorer hanterar data i bitar med 4 eller 8 byte i taget (32 och 64 bitars CPU), så ju större variabeln är, desto längre tid tar det att läsa eller skriva det. Storleken på variabeln beror på dess typ.

Vad är en variabel typ?

I moderna programmeringsspråk förklaras variabler av typ.

Bortsett från siffror gör CPU inte någon form av skillnad mellan data i dess minne. Den behandlar det som en samling byte. Moderna processorer (förutom de i mobiltelefoner) kan vanligtvis hantera både heltal och flytande punkt aritmetik i hårdvara. Kompilatorn måste generera olika maskinkodinstruktioner för varje typ, så att veta vilken typ av variabel som hjälper den att skapa optimal kod.

Vilka typer av data kan en variabel innehålla?

De grundläggande typerna är dessa fyra.

  • heltal (både signerade och osignerade) i storlek, 1,2,4 eller 8 byte. Vanligtvis kallas myror.
  • Flytpunkt Antal upp till 8 byte i storlek.
  • bytes. Dessa är organiserade i 4s eller 8s (32 eller 64 bitar) och läses in och ut från CPU: s register.
  • Text strängar, upp till miljarder byte i storlek. CPU: er har speciella instruktioner för att söka igenom stora block av byte i minnet. Detta är mycket praktiskt för textoperationer.

Det finns också en allmän variabel typ som ofta används på skriptspråk.

  • Variant - Detta kan rymma vilken typ som helst men är långsammare att använda.

Exempel på datatyper

  • Matriser av typer - enkel dimension som lådor i ett skåp, tvådimensionella liknande postkontorsorteringslådor eller tredimensionella som en hög med öllådor. Det kan finnas valfritt antal dimensioner, upp till kompilatorns gränser.
  • Enum som är en begränsad delmängd av heltal. Läs om vad som är en enum.
  • Strukturer är en sammansatt variabel där flera variabler klumpas samman i en stor variabel.
  • Strömmar ger ett sätt att hantera filer. De är en form av en sträng.
  • Objekt, är som strukturer men med mycket mer sofistikerad datahantering.

Var lagras variabler?

I minnet men på olika sätt beroende på hur de används.

  • Globalt. Alla delar av programmet kan komma åt och ändra värdet. Så här brukade äldre språk som Basic och Fortran hantera data och det anses inte vara bra. Moderna språk tenderar att motverka global lagring men det är fortfarande möjligt.
  • På högen. Detta är namnet på huvudområdet som används. I C och C ++ är åtkomst till detta via pekvariabler.
  • På traven. Bunten är ett minneblock som används för att lagra parametrar som överförts till funktioner och variabler som finns lokala för funktioner.

Slutsats

Variabler är viktiga för procedurprogrammering, men det är viktigt att inte hängas upp för den underliggande implementeringen om du inte gör systemprogrammering eller skriver applikationer som måste köras i en liten mängd RAM.

Våra regler för variabler:

  1. Om du inte är fast på ram eller har stora matriser, håll dig fast med myrar snarare än en bitgrupp (8 bitar) eller kort int (16 bitar). Speciellt på 32-bitars CPU: er finns en extra fördröjningsstraff för åtkomst till mindre än 32 bitar.
  2. Använd flottörer istället för dubblar såvida du inte behöver precisionen.
  3. Undvik varianter såvida det inte är nödvändigt. De är långsammare.