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 ligger den exakt?
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 programmering villkor 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 i RAM.
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 åt gången (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 modernt programmeringsspråkvariabler förklaras vara av en 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. De kompilator 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 är en enum är.
- 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 pekare variabler.
- På Stack. Bunten är ett minnesblock som används för att lagra parametrar överförs till funktioner och variabler som finns lokala för funktioner.
Slutsats
Variabler är väsentliga för procedurprogrammering, men det är viktigt att inte hängas upp för det underliggande implementering om du inte gör systemprogrammering eller skriver applikationer som måste köras i en liten mängd BAGGE.
Våra regler för variabler:
- Om du inte är trång på ram eller har stora matriser, hålla fast vid ints 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.
- Använda sig av flottörer istället för dubbel såvida du inte behöver precisionen.
- Undvik varianter såvida det inte är nödvändigt. De är långsammare.