Sobes.tech
Junior — Middle

Kunt u de verschillen uitleggen tussen de verschillende int-typen in de programmeertaal C, zoals size_t, long, short en int?

sobes.tech AI

Antwoord van AI

In de programmeertaal C bestaan er verschillende gehele getaltypen die verschillen in grootte en bereik:

  • short — meestal 16 bits, kan waarden opslaan van ongeveer -32.768 tot 32.767 (voor het getal met teken).
  • int — meestal 32 bits op moderne systemen, de bereik hangt af van het platform, maar vaak van -2.147.483.648 tot 2.147.483.647.
  • long — de grootte hangt af van het platform, op 32-bit systemen meestal 32 bits, op 64-bit systemen — 64 bits.
  • size_t — unsigned type, bedoeld om de grootte van objecten en array-indices op te slaan. De grootte hangt af van de architectuur (bijvoorbeeld 32 of 64 bits). Het garandeert dat het de maximale grootte van elk object in het geheugen kan opslaan.

Belangrijkste verschillen:

  • size_t is altijd unsigned en wordt gebruikt voor groottes en indices.
  • short, int, long kunnen signed of unsigned zijn (als unsigned wordt aangegeven), en hun grootte hangt af van het platform.

Voorbeeld van gebruik van size_t:

#include <stdio.h>
#include <stddef.h>

int main() {
    size_t length = 10;
    int array[10];

    for (size_t i = 0; i < length; i++) {
        array[i] = (int)i;
        printf("%d ", array[i]);
    }
    return 0;
}

Hier wordt size_t gebruikt voor array-indexering, wat veilig en conform de C-standaarden is.