Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> C Sprache

C typedef erklärt: Code vereinfachen mit benutzerdefinierten Typnamen

Die C-Programmiersprache bietet das Schlüsselwort typedef, mit dem Sie einem Typ einen neuen Namen geben können. Beispiel für die Definition von BYTE für Ein-Byte-Zahlen:

typedef unsigned char BYTE;

Nach dieser Typdefinition kann der Bezeichner BYTE als Abkürzung für den Typ unsigned char verwendet werden:

BYTE b1, b2;

Konventionell werden Großbuchstaben für diese Definitionen verwendet, um daran zu erinnern, dass der Typname tatsächlich eine symbolische Abkürzung ist. Sie können aber auch Kleinbuchstaben verwenden:

typedef unsigned char byte;

typedef mit benutzerdefinierten Datentypen

Sie können typedef verwenden, um Ihren benutzerdefinierten Datentypen einen Namen zu geben. Zum Beispiel mit Strukturen:

Beispiel: typedef mit struct

#include <stdio.h>
#include <string.h>

typedef struct Books {
    char title[50];
    char author[50];
    char subject[100];
    int book_id;
} Book;

int main() {
    Book book; // Kein "struct" nötig
    strcpy(book.title, "C Programming");
    strcpy(book.author, "Nuha Ali");
    strcpy(book.subject, "C Programming Tutorial");
    book.book_id = 6495407;

    printf("Titel: %s\n", book.title);
    printf("Autor: %s\n", book.author);
    printf("Thema: %s\n", book.subject);
    printf("ID: %d\n", book.book_id);
    return 0;
}

Ausgabe:

Titel: C Programming
Autor: Nuha Ali
Thema: C Programming Tutorial
ID: 6495407

typedef vs. #define

#define ist eine C-Präprozessor-Direktive, die ebenfalls Aliase für Datentypen definieren kann, ähnlich wie typedef, aber mit folgenden Unterschieden:

Beispiel: #define für Werte

#include <stdio.h>

#define TRUE 1
#define FALSE 0

int main() {
    printf("Wert von TRUE: %d\n", TRUE);
    printf("Wert von FALSE: %d\n", FALSE);
    return 0;
}

Ausgabe:

Wert von TRUE: 1
Wert von FALSE: 0

Weitere typedef-Beispiele

// Funktionszeiger
typedef int (*compare_func)(const void*, const void*);

// Array-Typ
typedef int IntArray[10];

// Zeiger-Typ
typedef char* String;

// Struktur mit typedef direkt
typedef struct {
    int x, y;
} Point;

Point p1 = {10, 20};

Best Practice: Verwenden Sie typedef für Typ-Aliase und #define für Konstanten/Makros. Vermeiden Sie #define für Typdefinitionen, da dies zu subtilen Fehlern führen kann (z. B. bei Zeigern: #define PTR int* vs typedef int* PTR).

C Sprache

  1. C# Hello World – Ihre erste C#-Anwendung erstellen
  2. C# Keywords und Identifiers verstehen: Regeln, Listen und Best Practices
  3. Lean Machines für Weltklasse-Fertigung und Instandhaltung: Praktischer Leitfaden zur Anlagenexzellenz
  4. ISA veröffentlicht aktualisierte 3. Auflage von Control Systems Safety Evaluation & Reliability
  5. Neues Buch: The OEE Primer – Gesamtanlageneffektivität, Zuverlässigkeit & Instandhaltbarkeit meistern
  6. Buchrezension: Digitise or Die – Ein Blueprint für IoT-getriebene Transformation
  7. Menschlichkeit im Zeitalter disruptiver Technologie bewahren
  8. Top 17 Programmierbücher 2021, um Ihre Coding-Skills zu verbessern
  9. C-Strukturen meistern: Komplexe Daten effizient organisieren
  10. C typedef erklärt: Code vereinfachen mit benutzerdefinierten Typnamen