Online C Compiler
Openen in de compiler

Nederlandse leereditie

Kenmerken van de programmeertaal C

Ontdek typen, functies, geheugen en compilatie bij systeemprogrammering.

Openen in de compiler

Kenmerken van de programmeertaal C
Ontdek typen, functies, geheugen en compilatie bij systeemprogrammering.

C is een procedurele taal: een programma verdeelt bewerkingen over functies, voorwaarden, lussen en datastructuren. Basistypen stellen tekens, gehele getallen en drijvendekommagetallen voor. Arrays groeperen elementen van hetzelfde type; structuren combineren samenhangende velden.

De compiler vertaalt code voor een specifieke omgeving. Weinig uitvoeringskosten garanderen geen constante looptijd: ook het besturingssysteem, caches en bewerkingen tellen mee. Meet prestaties met een representatieve belasting.

Pointers geven toegang tot adressen, maar vereisen dat je grenzen en levensduur van objecten respecteert. Geheugen dat je met malloc reserveert, geef je vrij met free. C heeft geen ingebouwde automatische garbagecollector.

Standaardconforme code is beter overdraagbaar, maar typegroottes en systeeminterfaces kunnen verschillen. Gebruik sizeof en de juiste headers; neem niet aan dat een pointer altijd acht bytes groot is.

Broncode

#include <stdio.h>

int main(void) {
    printf("==============================\n");
    printf("C Language Hardware Inspection\n");
    printf("==============================\n");
    printf("Standard C Version : %ld\n", __STDC_VERSION__);
    printf("Pointer Width      : %zu bytes\n", sizeof(void*));
    printf("Integer Width      : %zu bytes\n", sizeof(int));
    printf("Double Width       : %zu bytes\n", sizeof(double));
    return 0;
}
Openen in de compiler

Verwacht resultaat

==============================
C Language Hardware Inspection
==============================
Standard C Version : 201710
Pointer Width      : 8 bytes
Integer Width      : 4 bytes
Double Width       : 8 bytes

Veelgestelde vragen

Waarom blijven code en sommige resultaten Engels?

C-sleutelwoorden, namen, programmacommentaar en verwachte uitvoer blijven gelijk aan het origineel om uitvoerbare code en consistente tests te behouden. Uitleg en instructies zijn vertaald.