0Pricing
Zig Academy · Lektion

C-Zeiger, Strings und Typen

Überbrücken Sie die Typsysteme von C und Zig.

C-Zeiger, Strings und Typen ist eine kostenlose Zig Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Zig Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Zig Academy-Kurs umfasst insgesamt 4 Lektionen.

Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.

C Types Get Translated

When Zig imports C, each C type maps to a Zig one. An int becomes c_int, so widths match the C ABI exactly.

const x: c_int = 10;

The C ABI Integers

Zig provides ABI-matching names like c_int, c_uint, c_long, and c_char so your values line up with what C expects.

C Pointers Use [*c]

A raw C pointer becomes the special [*c]T type. It can be null and converts loosely, mirroring C's flexible pointers.

var p: [*c]u8 = null;

Why [*c] Is Special

The [*c] type bridges C's any-length, maybe-null pointers. It coerces to and from Zig slices and pointers where it can.

C Strings Are Bytes

A C string is just a pointer to bytes ending in a zero. There is no length stored, only the null terminator.

Null-Terminated Literals

Write a C-style string with the sentinel form. The type [*:0]const u8 marks bytes that end in a 0.

const s: [*:0]const u8 = "hello";

Pass Strings to C

Zig string literals are already null-terminated, so you can hand them straight to C functions expecting a char pointer.

c.puts("done");

Read a C String Back

To turn a C string into a Zig slice, use std.mem.span, which walks to the null byte to find the length.

const slice = std.mem.span(cstr);

void Pointers

C's void* shows up as ?*anyopaque in Zig. You cast it back to a concrete pointer type before using it.

Cast with @ptrCast

Bridging pointer types across the C boundary uses @ptrCast, which reinterprets a pointer without changing the address.

const p: *Node = @ptrCast(@alignCast(raw));

Match, Do Not Guess

The safe habit is to match C's exact types: use c_int for int and span for strings, so nothing is silently wrong.

Quick Check

Recall how Zig turns a C string into a usable slice.

Recap

You learned that C types map to ABI names like c_int, C pointers use [*c], and std.mem.span turns C strings into slices. 🎯

Häufig gestellte Fragen

Ist die Lektion „C-Zeiger, Strings und Typen“ kostenlos?

Ja — der vollständige Text von „C-Zeiger, Strings und Typen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Zig Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Zig Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „C-Zeiger, Strings und Typen“?

Überbrücken Sie die Typsysteme von C und Zig. Du übst Zig Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Zig Academy zu starten?

Keine Vorkenntnisse erforderlich. Zig Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „C-Zeiger, Strings und Typen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Zig Academy-Lektion Code schreiben und ausführen?

Ja. Jede Zig Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. C-Header mit @cImport importieren
  2. C-Funktionen aufrufen und verknüpfen
  3. C-Zeiger, Strings und Typen
  4. zig translate-c zum Lesen von C als Zig
← Zurück zu Zig Academy