C typedef: Code vereenvoudigen met eigen typenamen
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: hoofdletters voor typedef-namen (duidt op type-alias).
typedef met structuren
Voorkomt herhaald struct typen.
typedef struct Boek {
char titel[50];
char auteur[50];
char onderwerp[100];
int boek_id;
} Boek;
int main() {
Boek boek; // geen 'struct' nodig
strcpy(boek.titel, "C Programmeren");
// ...
}
typedef vs #define
| Kenmerk | typedef | #define |
|---|---|---|
| Werkt op | Alleen typen | Typen EN waarden (constanten) |
| Verwerkt door | Compiler | Preprocessor |
| Scope-regels | Volgt C-scope (blok, bestand) | Globale tekstvervanging |
| Type-checking | Ja | Nee |
| Debugging | Zichtbaar in debugger | Niet zichtbaar |
| Pointers | typedef int *IntPtr; → IntPtr p1, p2; beide pointers | #define IntPtr int* → IntPtr p1, p2; p2 is int! |
Voorbeeld #define voor constanten
#define TRUE 1 #define FALSE 0 #define PI 3.14159
Geavanceerde typedef toepassingen
- Functiepointers:
typedef int (*VergelijkFunc)(const void*, const void*); - Array-types:
typedef int IntArray10[10]; - Portabiliteit:
typedef long int32_t;(of<stdint.h>gebruiken) - Opmaak:
typedef struct Node *NodePtr;voor linked lists
Best practice: Gebruik
typedefvoor typenames,#definealleen voor constanten en macro's. Voor vaste-breedte integers:<stdint.h>(int32_t,uint8_t, etc.).
C Taal
- Lean Machines voor Wereldklasse Productie en Onderhoud: Een Praktische Gids voor Apparatuursexcellentie
- ISA publiceert bijgewerkte derde editie van Control Systems Safety Evaluation & Reliability boek
- Nieuw boek: The OEE Primer – Equipment Effectiveness, Reliability & Maintainability meesteren
- Top 17 programmeerboeken om uw coderingsvaardigheden in 2021 te verbeteren
- Boekrecensie: Digitaliseer of Sterf – Een blauwdruk voor IoT-gedreven transformatie
- Menselijkheid behouden in het tijdperk van disruptieve technologie
- C# Hello World – Uw eerste C# applicatie bouwen
- C# Keywords en Identifiers begrijpen: Regels, lijsten en best practices
- C-structuren: Complexe data efficiënt organiseren
- C typedef: Code vereenvoudigen met eigen typenamen
- C++ Datastructuren: Efficiënte Programma's Bouwen met Arrays, Structs en Meer