C EĞİTİMİ
C Eğitimi, programların donanıma en yakın katmanda nasıl çalıştığını somut örneklerle kavratır. Katılımcılar, bellek yönetimi ve düşük seviye programlamanın temel disiplinine hâkim olur.
Kurs boyunca işaretçiler, diziler ve veri yapıları adım adım işlenerek güvenli ve verimli kod yazma alışkanlığı kazandırılır. Standart kütüphane ve derleme süreçleri de baştan sona uygulamalı olarak ele alınır.
C eğitimini şirketinize özel planlayalım. 0212 951 0608 · Teklif isteyin
Katılımcı Profili
Bu eğitim, C dilini sistem seviyesi disiplinle kullanmak isteyen rollere yöneliktir:
- Sistem Programcıları: Linux kernel, driver ve işletim sistemi-seviye kod yazan mühendisler
- Gömülü Yazılım Mühendisleri: Mikrokontrolör ve RTOS üzerinde C ile geliştirme yapanlar
- Network Programcıları: Düşük seviyede protokol implement eden mühendisler
- Yeni Başlayan Geliştiriciler: C ile programlamanın temel disiplinini öğrenmek isteyenler
- C++ Geliştiriciler: C tarafıyla altyapı bilgilerini sağlamlaştırmak isteyen roller
Ön Gereklilikler
Bu eğitime katılım için aşağıdaki ön bilgiler önerilir:
- Herhangi bir dilde temel programlama (variable, loop, function) deneyimi
- Algoritma ve veri yapılarına giriş düzeyi aşinalık
- Komut satırı kullanımı ve dosya sistemi rahatlığı
- Git ile temel sürüm kontrolü bilgisi
- Derleyici hata mesajlarını okumaya açıklık
Süresi ve Tarihi
Süre: 3 gün. Bu süre standart program içindir; ek modüllere ve hedefe göre süre özelleştirilebilir.
Eğitim tarihleri ve saatleri, ekibinizin uygunluğuna göre birlikte planlanır.
Kazanımlar
Eğitim sonunda katılımcı, C dilinin altında ne olduğunu görerek kod yazar — pointer ve bellek artık sihir değildir:
- Pointer aritmetiğini ve dereference'i bellek modelinde adım adım izler
- malloc, calloc, realloc ve free ile heap'i sızıntısız yönetir
- struct ve union'ı alignment ile padding'i bilerek kullanır
- Function pointer ile callback ve dispatch table pattern'i kurar
- Preprocessor ve macro'yu token pasting tuzaklarına düşmeden yazar
- printf format string güvenliği ve buffer overflow'a karşı disiplin kurar
- gcc warning flag'leri ile valgrind'i bug tespitinde rutine sokar
Eğitim materyalleri ISO/IEC 9899 C dili standardı referans alınarak hazırlanır.
C Eğitimi Konuları
1. C Dilinin Mirası ve Modern Yeri
- K&R'dan ANSI'ye, modern C standartlarına evrim
- Sistem programlama, gömülü ve kernel kullanımı
- GCC, Clang, MSVC derleyici karşılaştırması
- Build araçları: Make, CMake, Ninja
2. Söz Dizimi ve Program Akışı
- main fonksiyonu ve argc, argv parametreleri
- printf, scanf format spesifiyerleri
- Statement, expression ve blok yapısı
- Derleme, link ve çalıştırma adımları
- İlk program ve basit hata ayıklama
3. Tipler, Boyutlar ve Taşınabilirlik
- int, char, float, double temel tipleri
- signed, unsigned, short, long modifier'lar
- sizeof ve platform farkları (32-bit vs 64-bit)
- Implicit ve explicit cast kuralları
- const, volatile, static, register anahtar kelimeleri
- stdint.h ile fixed-width tipler (uint8_t, int32_t)
4. Operatörler ve Bit Manipülasyonu
- Aritmetik, ilişkisel, mantıksal operatörler
- Bitwise: AND, OR, XOR, NOT, shift
- Operatör önceliği ve sequence point
- Bit mask ile flag yönetimi (gömülü için kritik)
- Endianness ve byte sıralama
5. Akış Kontrolü - if, switch, Döngü
- if, else if, else dal kontrolü
- switch-case ve fallthrough davranışı
- for, while, do-while döngüleri
- break, continue, goto ifadeleri
6. Fonksiyonlar ve Çağrı Kuralları
- Fonksiyon tanımı, prototype, declaration
- Pass by value ve pointer ile referans
- Calling convention: cdecl, stdcall (Windows ile uyum)
- Recursion, stack frame ve tail call
- Inline function ve macro alternatifi
7. Diziler ve Bellek Yerleşimi
- Statik dizi tanımı ve sınırları
- 2D ve çok boyutlu dizi yönetimi
- Dizi-pointer ilişkisi ve decay kuralı
- Variable Length Array (VLA)
- Buffer overflow riski ve sınır kontrolü
8. String ve Karakter Düzeyi İşleme
- Char dizisi olarak string ve null terminator
- string.h fonksiyonları: strlen, strcpy, strcmp, strcat
- Güvenli alternatifler: strncpy, snprintf, strlcpy
- ctype.h ile karakter sınıflandırma
- UTF-8 ve multibyte string yaklaşımı
9. Pointer - C'nin İmza Özelliği
- Adres operatörü (&) ve dereference (*)
- Pointer tipi ve uyumluluk kuralları
- NULL pointer ve güvenlik kontrolleri
- const pointer ve pointer to const farkı
- void* ve tip-bağımsız işaretçi
- Function pointer ve callback tasarımı
10. Pointer Aritmetiği ve Sınırlar
- Pointer aritmetiği ve tip boyutu etkisi
- Pointer ile dizi gezme
- Pointer to pointer ve çok seviyeli indirection
- Strict aliasing rule ve uyumluluk
- restrict anahtar kelimesi ve optimizasyon
11. Struct, Union, Bit Field
- struct tanımı ve member erişimi
- typedef ile tip alias oluşturma
- union ile bellek paylaşımlı yapılar
- Bit field ile paketlenmiş struct
- Padding, alignment ve sizeof
- enum ile sabit set tanımlama
12. Dinamik Bellek - malloc, free, realloc
- Stack ve heap bellek ayrımı
- malloc, calloc, realloc, free kullanımı
- Memory leak ve double-free hataları
- Dangling pointer ve use-after-free
- Valgrind, AddressSanitizer ile tespit
13. Dosya I/O ve Standart Akışlar
- FILE pointer, fopen, fclose modları
- fread, fwrite, fgets, fputs operasyonları
- Text ve binary dosya farkları
- fseek, ftell ile pozisyon yönetimi
- stdin, stdout, stderr ve pipe akışı
14. Preprocessor Mucizesi
- #include, #define, #undef direktifleri
- Koşullu derleme: #ifdef, #ifndef, #if
- Function-like macro ve hidden side effect
- Predefined macro: __FILE__, __LINE__, __func__
- Stringification (#) ve token-pasting (##) operatörleri
- X-Macro pattern ile veri-kod ayrımı
15. Modüler Tasarım ve Header Yönetimi
- Interface (.h) ve implementation (.c) ayrımı
- Header guard ve #pragma once
- Static fonksiyon ile dosya scope
- extern ile global değişken paylaşımı
- Opaque pointer ile ABI gizliliği
16. Undefined Behavior - C'nin Tehlikeli Köşeleri
- UB nedir, neden mevcut, derleyici varsayımları
- Signed integer overflow ve sınır
- Uninitialized variable kullanımı
- Pointer aliasing ihlali
- Sequence point ve evaluation order belirsizliği
17. Performans ve Cache Locality
- Cache locality ve veri yerleşimi (struct of arrays vs array of structs)
- Compiler optimizasyon seviyeleri (-O0 ila -O3)
- Loop unrolling ve manuel optimizasyon
- Profiling: gprof, perf, callgrind
- SIMD ve intrinsic fonksiyonlara giriş
18. Debugging - GDB ve Valgrind
- GDB başlatma ve temel komutlar
- Breakpoint, watchpoint, conditional break
- Step, next, continue ile akış kontrolü
- Backtrace, frame, variable inceleme
- Valgrind memcheck ve helgrind araçları
- Core dump analizi ve post-mortem debug
C EĞİTİMİ ile İlgili
Sıkça Sorulan Sorular ve Cevapları
C eğitimini kurumumuza özel planlayabilir miyiz?
Evet. C eğitiminin içeriği ve süresi sabit değildir; firmanızın öncelikleri ve katılımcı profiliniz doğrultusunda programı birlikte kurgular, tamamen kurumunuza özel olarak ilerleriz.
C eğitimini hangi şehirlerde veriyorsunuz?
C eğitimini kurumunuzun bulunduğu ilde yerinde veriyoruz; İstanbul, Ankara ve İzmir başta olmak üzere Türkiye'nin her iline gelmekteyiz. İsteyen firmalara eğitim canlı online olarak da sunulur.
C eğitimini online veriyor musunuz?
Evet, C eğitimini canlı online olarak da veriyoruz; birlikte uygulamalı oturumlarla Türkiye'nin neresinde olursanız olun katılabilirsiniz. Program kurumunuzun ihtiyacına göre belirlenir.
C eğitimi çalışanlarımızın seviyesine göre uyarlanıyor mu?
Evet. C eğitiminin başında katılımcıların seviyesi değerlendirilir ve içerik buna göre ayarlanır; sıfırdan başlanabileceği gibi ileri konulara da odaklanılabilir.
C eğitimi projemiz üzerinden ilerleyebilir mi?
Eğitim, kendi projeniz veya kullanım senaryonuz üzerinden ilerleyebilir. Bunun için teklif öncesinde projenizi bize iletmeniz ya da tarif etmeniz gerekmektedir; böylece eğitimi gerçek işinize göre kurgularız.
C eğitmenleriniz hakkında bilgi alabilir miyiz?
Eğitmenlerimiz yazılım geliştirme alanında sahada deneyimli, C ile gerçek projeler geliştirmiş yazılımcılardır. İhtiyacınıza ve hedefinize en uygun eğitmeni sizinle eşleştiriyoruz.
Katılımcılarımıza sertifika veriliyor mu?
Evet. Eğitim sonunda katılımcılarımıza katılım sertifikası veriyoruz; sertifikada eğitimin kapsamı ve katılımcı bilgileri yer alır, kurumunuzun tercihine göre dijital ya da basılı olarak hazırlanır.
C eğitiminin fiyatı ne kadar?
Sabit bir C eğitimi ücreti yoktur; fiyat, katılımcı sayısı, kapsam ve süreye göre belirlenir. İhtiyacınızı dinleyip kurumunuza özel bir teklif sunarız.
C temellerini ekibiniz için netleştirip birlikte planlayalım.
0212 951 0608 · Kurumsal teklif



