0Pricing
Zig Academy · Ders

Ayırıcı Arayüzü

Tüm bellek kaynakları için tek bir sözleşme.

Ayırıcı Arayüzü, CoddyKit'te ücretsiz bir Zig Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Zig Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Zig Academy kursu toplamda 4 dersten oluşur.

Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.

One Common Type

Every allocator in Zig is handed around as a single type, std.mem.Allocator. Your code talks to that one interface, never a concrete backend.

const Allocator = std.mem.Allocator;

An Interface, Not a Class

std.mem.Allocator is a small interface: a pointer plus a table of functions. It describes what an allocator can do, not which one you use.

Many Backends, One Shape

A page allocator, an arena, or a test allocator all expose the same shape. Swapping one for another needs no change to calling code.

Get a Real Allocator

You obtain a concrete allocator, then take its .allocator() handle to pass around as the generic std.mem.Allocator type.

var gpa = std.heap.GeneralPurposeAllocator(.{}){};
const a = gpa.allocator();

Pass It Down

Once you hold an allocator, you pass that one value into any function that needs memory. The whole program can share a single source.

try doWork(a);

The Page Allocator

std.heap.page_allocator asks the OS directly for memory. It is simple but coarse, so it suits big or long-lived blocks, not tiny ones.

const a = std.heap.page_allocator;

GeneralPurposeAllocator

The GeneralPurposeAllocator is the everyday choice in debug builds. It tracks every block and reports leaks and double-frees for you.

Why an Interface Helps

Coding against the interface means your function works with any allocator. The same code runs in tests, on bare metal, or in a server.

Functions Just Ask

A function does not care which allocator it got. It simply calls methods like alloc and free on the std.mem.Allocator it was given.

const buf = try a.alloc(u8, 16);

No Global Allocator

Zig has no single global heap. You decide which allocator each part of your program uses, keeping memory sources visible and local.

Test with a Different One

In tests you pass std.testing.allocator instead. Same code, but now leaks fail the test, proving the interface pays off. ✅

Quick Check

Think about what type all Zig allocators share.

Recap

You learned that std.mem.Allocator is one interface over many backends, so code that asks for memory works with any allocator you supply. 🎯

Sıkça Sorulan Sorular

“Ayırıcı Arayüzü” dersi ücretsiz mi?

Evet — “Ayırıcı Arayüzü” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Zig Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Zig Academy kursu toplamda 4 dersten oluşur.

“Ayırıcı Arayüzü” dersinde ne öğreneceğim?

Tüm bellek kaynakları için tek bir sözleşme. Zig Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Zig Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Zig Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“Ayırıcı Arayüzü” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Zig Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Zig Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Zig'de Gizli Bellek Ayırma Neden Yoktur?
  2. Ayırıcı Arayüzü
  3. alloc, free, create, destroy
  4. ArrayList ile Dinamik Listeler
← Zig Academy Sayfasına Dön