Hash Table in C — Implementation with Chaining (djb2)

A hash table maps keys to storage slots in near-constant time: run the key through a hash function, take the result modulo the table size, and that’s the index where the key lives. It’s the data structure behind Python dicts, Java HashMaps, and database indexes — and one of the most-asked interview topics in C, …

K&R C Chapter 1 Exercise Solutions — A Tutorial Introduction

Chapter 1: A Tutorial Introduction is where K&R C begins — and it moves faster than most C books. By exercise 1-8 you are counting characters by category; by 1-13 you are drawing histograms; by 1-22 you are folding long lines. The chapter uses only a tiny subset of C deliberately: loops, if/else, basic functions, …

C Program to Check File Size – fseek/ftell and stat()

There are two standard ways to check file size in C: the portable fseek()/ftell() method that works with any FILE pointer, and the POSIX stat() method that reads file metadata without opening the file. This page covers both, with complete working programs, a comparison table, and when to use each. Method 1 — fseek() and …

C Program to implement address calculation sort.

Write a C Program to implement address calculation sort.Address calculation sort is the sorting method which sorts the given array by using insertion method.In this algorithm, a hash function is used and applied to the each key. Result of hash function is placed in the linked lists. The hash function must be a order preserving …

Dining Philosophers Problem in C – pthreads and Deadlock Prevention

The Dining Philosophers problem is a classic synchronization puzzle introduced by Edsger Dijkstra to illustrate deadlock and resource contention. Five philosophers sit at a round table with a single fork between each pair of neighbors — five forks total. Each philosopher alternates between thinking and eating, but eating requires picking up both the fork on …

C Program to demonstrate dynamic memory allocation example.

Write a C Program to demonstrate dynamic memory allocation example.Dynamic memory allocation means you can allocate or relocate (manipulate) the memory at the run time, using malloc, calloc, and realloc functions.Using malloc, We can allocate block of memory for a variableUsing calloc function, We can allocate multiple blocks of memory for a variable.We can alter, …