Bestanden in C Een bestand is een reeks bytes. C biedt hoog-niveau (gestreamde) en laag-niveau (OS) I/O. Hier focussen we op FILE* streams uit <stdio.h>. Bestand openen: fopen() FILE *fopen(const char *pad, const char *modus); Tekstmodi ModusBeschrijving rLezen (bestand moet bestaan) wSchri
Standaard I/O-streams C behandelt alle apparaten als bestanden. Drie standaard streams open automatisch: StreamBestandspointerApparaat Standaard invoerstdinToetsenbord Standaard uitvoerstdoutScherm Standaard foutstderrScherm (apart van stdout) Karakter I/O: getchar() en putchar() int getchar(voi
Wat is typedef? typedef geeft een bestaand datatype een nieuwe naam (alias). Verbetert leesbaarheid en porteerbaarheid. Basissyntax typedef bestaande_type nieuwe_naam; Voorbeeld: BYTE voor unsigned char typedef unsigned char BYTE; BYTE b1, b2; // equivalent aan unsigned char b1, b2; Conventie: h
Probleem: ruimteverspilling bij vlaggen Een struct met int vlaggen (0/1) gebruikt 4 bytes per vlag. Voor 2 vlaggen = 8 bytes, terwijl 2 bits volstaan. Oplossing: bitvelden struct { unsigned int breedteGevalideerd : 1; unsigned int hoogteGevalideerd : 1; } status; Nu gebruikt status 4 bytes
Wat is een union?
Wat is een structuur?
Wat is een C-string? Een string in C is een eendimensionale array van char die eindigt met een null-karakter \0. De lengte van de string is het aantal karakters voor de null-terminator. Declaratie en initialisatie char greeting[6] = {H, e, l, l, o, \0}; Korter (compiler voegt \0 toe): char greeting
Wat is een pointer?
Wat is een array? Een array is een vaste verzameling elementen van hetzelfde type, opgeslagen in aaneengesloten geheugenlocaties. Toegang via index (0-gebaseerd). Declaratie type naam[grootte]; grootte 0. Voorbeeld: double balance[10]; Initialisatie double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0
Wat is scope? Scope (bereik) bepaalt waar een variabele zichtbaar en toegankelijk is. C kent drie declaratieplaatsen: Lokaal – binnen functie/blok Globaal – buiten alle functies Formeel parameter – in functiedefinitie Lokale variabelen Gedeclareerd in functie/blok. Alleen zichtbaar daar. Levensdu
Wat is een functie?
Waarom lussen? Lussen herhalen een blok code zolang een voorwaarde geldt. C biedt drie basislussoorten. while lus Test voorwaarde voor elke iteratie. while (voorwaarde) { // body } Voorbeeld int i = 1; while (i <= 5) { printf(%d , i); i++; } // Output: 1 2 3 4 5 for lus Compacte syntax
Beslissingsstructuren Een beslissingsstructuur evalueert een voorwaarde en voert code uit afhankelijk van het resultaat (true/false). In C is elke non-zero en non-null waarde true; 0 of NULL is false. Typen beslissingsstatements StatementBeschrijving ifEén voorwaarde, één blok if-elseTwee paden (t
Overzicht operatorcategorieën Rekundige (arithmetic) Relationele (relational) Logische (logical) Bitwise Toewijzing (assignment) Diverse (sizeof, ternary, adres, dereferentie) Rekundige operators OpBeschrijvingVoorbeeld (A=10, B=20) +OptellenA + B = 30 -AftrekkenA - B = -10 *VermenigvuldigenA *
Wat is een opslagklasse? Een opslagklasse (storage class) bepaalt de zichtbaarheid (scope) en levensduur van variabelen/functies. Vier klassen in C: auto register static extern auto – standaard lokaal Standaard voor alle lokale variabelen. Slechts binnen functie/blok zichtbaar. auto int x; is gel
Wat zijn constanten? Constanten (ook literals genoemd) zijn vaste waarden die tijdens uitvoering niet veranderen. Ze kunnen van elk basistype zijn: integer, floating-point, karakter, string, enum. Integer-literals Decimaal: 212, -45 Octaal: prefix 0 → 0213 (alleen cijfers 0-7) Hexadecimaal: prefix
Wat is een variabele? Een variabele is een benoemde opslaglocatie in het geheugen. Elke variabele heeft een type dat bepaalt: grootte, layout, waardenbereik en toegestane bewerkingen. Basistypes voor variabelen TypeBeschrijving char1 byte, integer-type (vaak voor karakters) intNatuurlijke machine-
Classificatie van datatypes CategorieBeschrijving BasistypesRekentypes: integers (gehele getallen) en floating-point (kommagetallen) EnumeratietypesDiscrete integerwaarden (enum) Void-typeGeen waarde (void) Afgeleide typesPointers, arrays, structuren, unions, functies Integere types TypeOpslagWa
Tokens in C Een C-programma bestaat uit tokens: de kleinste betekenisvolle eenheden. Vijf categorieën: Sleutelwoorden – gereserveerd (bijv. int, return, if) Identificatoren – namen voor variabelen, functies, etc. Constanten – vaste waarden (literals) String-literals – tekst tussen dubbele aanhaling
Onderdelen van een C-programma Preprocessor-directieven (#include, #define) Functies (minimaal main()) Variabelen Statements & expressies Commentaar Hello World voorbeeld #include <stdio.h> int main() { /* mijn eerste programma in C */ printf(Hello, World! \n); return 0; }
C Taal
Hoe Printplaten De Elektronica Gerevolutioneerd Hebben
Post-processing voor SLA-prints beheersen: Van reinigen tot professionele afwerking
Wanneer Precieze CNC Onderdelen Uitbesteden: Een EV Productie Case Study
Arris Composites haalt $48,5M Serie B op voor uitbreiding Additive Molding en opening VS en Taiwan faciliteiten