Skip to content

UPinar/c-lessons

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CLessons

Repo dili İnglizce - Türkçe karışıktır.

Notlar ders zamanlamasıyla birebir gitmiyor dolasıyla bazı dosyalardaki konular ileri dosyalardaki pratikler üzerine inşa edilmiş olabilir.

  • C language characteristics
  • C Standarts
  • C program
  • compiler - derleyici
  • tokenizing(atomlarina ayirmak)
  • number systems - sayı sistemleri
  • characters
  • header files
  • seperate compilation model
  • external reference
  • basic types of C language
  • declaration(bildirim) and definition(tanimlama)
  • storage duration
  • scope (kapsam - faaliyet alani)
  • naming - naming conventions
  • function definition syntax
  • return statement
  • function call
  • test functions (query, predicate)
  • <ctype.h> module
  • function prototype(s) | function declaration
  • function wrappers
  • variadic functions
  • standart C library
  • call(pass) by value, call(pass) by reference
  • constants (sabitler)
  • Input & Output Operations
  • operator priority, precedence (operatör önceliği)
  • operator associativity (öncelik yönü)
  • arithmetic operators
  • side effect (yan etki)
  • maximal munch (en uzun atom)
  • comparison operators
  • logical operators
  • short circuit behaviour (kısa devre davranışı)
  • assignment operators
  • sequence point (yan etki noktası)
  • comma operator (virgül operatörü)
  • ternary operator (koşul operatörü)
  • sizeof operator
  • if statement
  • while statement
  • n kere dönen döngü idiyomu (loop idiom that loops n times)
  • how to get out of a loop (bir döngüden nasıl çıkılır?)
  • infinite loop (sonsuz döngü)[while]
  • break statement
  • <conio.h> header for Microsoft Compiler _getch() and _getche() functions
  • continue statement
  • do while statement
  • for statement
  • infinite loop idiom(sonsuz döngü)[for]
  • switch statement
  • goto statement
  • nested loops
  • #include
  • #define
  • object-like macros
  • function-like(functional) macros
  • X macro
  • comparison between functional macros and functions
  • preprocessor operators
  • conditional compiling (koşullu derleme)
  • multiple inclusion guard
  • #undef
  • predefined symbolic constants
  • #error
  • #line
  • #pragma
  • rand() function
  • srand() function
  • randomize idiom
  • implicit type conversions
    • assignment type conversions
    • arithmetic type conversions
  • explicit type conversions
    • type-cast operator
  • information about data structures, algorithms, big O notation
  • arrays
  • array decay (array to pointer conversion)
  • arrays initialization
  • designated initializer(C99)
  • sorting algorithms
  • bubble sort
  • merge algorithm
  • binary search
  • multi-dimensional arrays
  • NTBS (null terminated byte stream)
  • string concatenate - append
  • remove copy algorithm
  • count algorithm
  • count_if algorithm
  • address of operator (adres operatörü)
  • dereferencing (indirection) operator (içerik operatörü)
  • pointer arithmetics
  • subscript operator (köşeli parantez operatörü)
  • diziler üzerinde işlem yapan fonksiyonlar
  • pointer idioms
  • comparison between addresses(pointers)
  • functions that returns pointer(adres döndüren fonksiyonlar)
  • valid and invalid pointers
  • NULL - null pointer
  • more pointer idioms
  • pointer arrays
  • pointer to pointer
  • const correctness in pointers
  • void pointers
  • function pointers
  • function pointer arrays
  • pointer errors
  • why using const keyword
  • pointers & const
  • typedef declarations
  • type aliases in standart library
  • string operations in <string.h> module
    • strlen
    • strchr
    • strrchr
    • strstr
    • strpbrk
    • strcpy and strncpy
    • overlapped blocks and restrict keyword
    • strcat and strncat
    • string comparison(yazıların karşılaştırılması)
      • lexicographical compare
      • strcmp and strncmp
    • strspn and strcspn
    • strtok
  • generic functions in <string.h> module
    • memset
    • memcpy and memmove
    • memchr
    • memcmp
      • Endianness
  • qsort and bsearch in <stdlib.h> module
  • conversion functions between strings and numbers in stdlib.h module
    • atoi and atof and atol and atoll
    • strtol and strtoll and strtoul and strtoull
    • strtof and strtod and strtold
  • formatted input-output functions in stdio.h module
    • printf and sprintf
    • scanf and sscanf
  • process termination functions in stdlib.h module
    • exit and atexit
    • abort
  • system function in stdlib.h
  • malloc
  • free
  • calloc
  • strdup
  • realloc
  • dynamic array data structure
  • auto
  • register
  • static
    • static keyword in local namespace
    • static keyword in global namespace
      • Linkage
        • external linkage
        • internal linkage
        • no linkage
  • extern
  • const keyword
  • volatile keyword
  • restrict keyword
  • structures
    • member selection operators
      • '.' dot operator
      • '->' arrow operator
    • structure variable's initialization
    • structures and typedef declarations
    • structures and functions
    • complete and incomplete types
    • <date> module tests
    • composition
    • <person> module tests
    • HANDLE system
    • alignment
    • offsetof macro
    • comparison of structure types
  • unions
    • tagged union - discriminated union
  • enumarations
  • time
  • localtime
  • ctime, asctime
  • strftime
  • setlocale
  • clock
  • mktime
  • difftime
  • bitwise operators (bitsel operatörler)
    • bitwise NOT ~ operator
    • bitwise shift operators
      • bitwise left shift << operator
      • bitwise right shift >> operator
    • bitwise AND & operator
    • bitwise OR | operator
    • bitwise XOR ^ operator
  • bitwise manipulations
  • bitfields
  • fopen, fclose, fcloseall(non-standart)
  • fgetc, fputc
  • text and binary mode
  • remove
  • rename, tmpnam
  • fprintf, fscanf formatted IO
  • fgets, fputs
  • fwrite, fread unformatted IO
  • file pointer manipulation functions
    • fseek, rewind, ftell, fsetpos, fgetpos
  • feof, ferror, clearerr,
  • fflush
  • setvbuf, setbuf
  • stdout, stdin, stderr
  • tmpfile
  • freopen
  • static assertions
  • dynamic assertions
  • errno macro in <errno.h>
  • perror in <stdio.h> module
  • strerror in <string.h>
  • non-local jumps, setjmp, longjmp in <setjmp.h>
  • variable length array (VLA)
  • compound literals
  • flexible array member
  • inline functions
  • variadic macros
  • generic selection
  • dynamic array
  • linked list
  • queue
  • stack
  • strict aliasing rule
  • localization
  • default argument conversion

About

This repository is based on notes from Necati Ergin's C Lessons

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages