aliberkpancar / C-Projects

42 Projects

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

C Projects 🚀 This repository contains a collection of C projects I've worked on. Each project is designed to reinforce my understanding of C programming concepts and build practical skills.

Projects Overview

  1. ft_printf A custom implementation of the printf function in C, providing formatted output to the console. This project dives into the intricacies of string parsing and memory management.

  2. get_next_line An efficient function to read and return the next line from a file descriptor. This project is particularly useful for handling file input/output operations in C.

  3. libft My personal C library, libft, containing a variety of custom functions that mimic the behavior of standard C library functions. It's a fundamental building block for many C projects, offering utilities for memory, strings, and more.

  4. pipex An implementation of a simplified version of the pipe shell command in Unix systems. This project explores process management and inter-process communication using pipes.

  5. push_swap A sorting algorithm project focusing on rearranging a stack of integers into ascending order using a limited set of operations. This project hones algorithmic thinking and efficiency.

  6. so_long 🎮 A simple 2D game project, reminiscent of a classic arcade game. This Panc-Man game, named so_long, involves exploring a map, collecting items, and avoiding enemies. It combines graphics, user input, and game logic in C.

  7. philosophers An exploration of the dining philosophers problem, a classic synchronization problem in computer science. This project simulates a scenario where a number of philosophers sit around a table with a bowl of spaghetti and a fork between each pair of adjacent philosophers. The goal is to prevent deadlock and starvation by devising a protocol that allows the philosophers to dine without conflicts, ensuring that each philosopher can eat when they are hungry.

This project delves into concurrent programming and synchronization techniques, such as mutexes and semaphores, to coordinate the actions of multiple threads (representing the philosophers) and avoid common pitfalls like deadlock and livelock.

Feel free to explore each project further, and don't hesitate to reach out with any questions or suggestions! 🌟

About

42 Projects


Languages

Language:C 96.9%Language:Makefile 3.1%