Integer vs Pointer
Begreberne heltal og pointer bruges i de fleste programmeringssprog. I computerprogrammeringssprog omtales heltal som enhver datatype, der repræsenterer en delmængde af matematiske heltal, hvorimod pointere er defineret som en type, hvis værdi peger på eller refererer direkte til en anden værdi, der er gemt et andet sted i computerens hukommelse ved hjælp af adressen på værdien.
Heltal
I computerprogrammeringssprog er et heltal en datatype, der repræsenterer en delmængde af matematiske heltal. Værdien af datum, der har en integreret del, er det matematiske heltal, som det svarer til. Værdien gemmes i computerens hukommelse på denne måde ved at repræsentere datumet. Integr altyperne kan være signerede eller usignerede. Fortegn betyder, at de kan repræsentere negative heltal, og uden fortegn betyder, at de kan repræsentere ikke-negative heltal.
En streng af bit er den mest almindelige måde at repræsentere et positivt heltal på. Dette gøres ved at bruge det binære talsystem. Der er en variation i rækkefølgen af bits. Præcisionen eller bredden af en heltalstype repræsenterer antallet af bits.
I binært talsystem kan de negative tal repræsenteres på tre måder. Dette kan gøres ved ens komplement, tos komplement eller fortegnsstørrelse. Der er dog en anden metode til at repræsentere heltal, og den kaldes binærkodet decimal. Men denne metode bruges sjældent i disse dage.
Forskellige integr altyper understøttes af forskellige CPU'er. Både signerede og usignerede typer understøttes af forskellig hardware, men der er nogle sæt med faste bredder.
Pointer
I computerprogrammeringssprog er en pointer defineret som den datatype, hvis værdi peger på eller direkte refererer til en anden værdi, der er gemt et andet sted i computerens hukommelse. Pointere finder sted i registre til generelle formål i tilfælde af sprog på højt niveau, mens det på lavniveausprog, såsom maskinkode eller assemblersprog, gøres i tilgængelig hukommelse. En placering i hukommelsen refereres af markøren. En pointer kan også defineres som en mindre subtraheret eller simpel implementering af mere abstraheret datatype. Pointere understøttes af forskellige programmeringssprog, men der er nogle begrænsninger for brugen af pointere på nogle sprog.
Ydeevnen kan forbedres betydeligt i tilfælde af gentagne operationer såsom opslagstabeller, træstrukturer, strenge og kontroltabeller. I proceduremæssig programmering bruges pointere også til at holde adresser på indgangspunkter. Men i objektorienteret programmering bruges pointere til at binde metoder i funktioner.
Selvom der bliver brugt pointere til at adressere referencerne, men de kan anvendes mere korrekt på datastrukturer. Der er visse risici, der er forbundet med pointere, fordi de tillader beskyttet såvel som ubeskyttet adgang til computerens hukommelsesadresser.