Fading Coder

One Final Commit for the Last Sprint

Using GoogleTest for C Code Unit Testing

Obtain GoogleTest Source Retrieve the source code from the official repository: https://github.com/google/googletest Build Libraries on Linux Transfer the downloaded source to your Linux environment using SFTP. Refer to the README file included in the googletest directory for compilation instruction...

C Array Mechanics: Memory Layout, Indexing, and Bounds Behavior

Core Characteristics of C Arrays Arrays in C provide a mechanism for grouping multiple values of an identical data type into a single contiguous memory block. Whether storing integers, floating-point numbers, characters, or custom structures, arrays follow strict allocation rules. Key behavioral tra...

Understanding C Data Types and Variables

Data Types in C C provides a rich set of data types to represent various kinds of information. Integer types handle whole numbers, character types handle individual characters, and floating-point types handle decimal values. A "type" defines the common characteristics of related data, and...

Implementing Doubly Circular Linked Lists in C

A doubly circular linked list is a sophisticated data structure that enhances the basic linked list concept. Unlike singly linked lists, each node in this structure contains pointers to both its successor and predecessor nodes. The "circular" aspect means the last node points back to the f...

Custom String Operations and Advanced Pointer Concepts in C

Custom String Functions Implementations of common string operatiosn without standard library functions. #include <stdio.h> #include <stddef.h> // Calculate string length size_t custom_strlen(const char *str) { size_t len = 0; while (str[len] != '\0') { len++; } return len; } // Compare t...

File I/O Operations in C: Text, Binary, Character, and Structured Data Handling

Writing and Reading Formatetd Text Files #include <stdio.h> #define TITLE_LEN 80 #define AUTHOR_LEN 80 #define CAPACITY 100 typedef struct { char title[TITLE_LEN]; char writer[AUTHOR_LEN]; } Publication; void store_text(); void load_text(); int main() { store_text(); load_text(); return 0; } v...

Sequential Lists and Linked Lists: Core Linear Data Structures Explored with Implementations and Exercises

Linear structures consist of a finite sequence of elements with identical properties. Common linear data structures include arrays, linked lists, stacks, queues, and strings. While linear structures follow a continuous logical arrangement, their physical storage may be either contiguous or non-conti...

Understanding C Program Compilation and Preprocessing

Translation and Execution Environments In any ANSI C implementation, there are two distinct environments: The translation environment, where source code is converted into executable machine instructions The execution environment, which actually runs the code When a source file like source.c needs to...

Implementing the ping Command in C on Linux

ICMP Packet Structure and Transmission The Internet Control Message Protocol (ICMP) operates at the network layer and functions as a support protocol for IP. ICMP messages are encapsulated within IP datagrams, where the IP header precedes the ICMP header and payload. An ICMP packet consists of an IP...

C Programming: Core Syntax, Memory Architecture, and Systems-Level Implementation

1. Standard Library Headers and I/O Fundamentals The C standard library exposes functionality through modular headers. <stdio.h> provides stream-oriented input/output operations, while <stdlib.h> contains utility functions for memory allocation, random number generation, and system comma...