Data Structures
In-Depth Exploration of Pointers in C Language
Hello everyone! Today we are going to talk about one of the most powerful yet confusing features of the C language for beginners – pointers. Through several practical examples, let’s master this core concept step by step. A pointer is essentially a variable that stores a memory address. Imagine it like the house number, telling … Read more
Implementing a HashMap in C Language
In the world of data structures, a HashMap is an efficient tool for storing and retrieving data. It stores data in the form of key-value pairs, allowing for insertions, deletions, and lookups to be performed in average constant time complexity. Today, we will implement a simple HashMap using the C programming language. 1. Introduction to … Read more
Detailed Use of Arrays in C Language
Today, let’s talk about the C language. When I first started learning, I was quite confused; it seemed simple, but I always encountered various problems when using it. After many years of trial and error, I would like to share some of my insights with you. Here is a detailed explanation of the use of … Read more
Common C Language Tools for Embedded Development
The C language tools commonly used in embedded development are indeed very important. Below are some sword-level C language tool code examples, along with brief explanations. 1. Circular Buffer: typedef struct { int buffer[SIZE]; int head; int tail; int count; } CircularBuffer; void push(CircularBuffer *cb, int data) { if (cb->count < SIZE) { cb->buffer[cb->head] = … Read more
Embedded Systems Beginner’s Progression: Key Milestones
01 Basic Stage 1.1 Basics of Programming Languages C Language: As the cornerstone of embedded development, it is essential to master its various features. By carefully studying classic books such as “The C Programming Language,” deeply understand the syntax rules, accurately grasp the use of data types, skillfully manipulate pointers as a powerful tool, and … Read more
Data Structures Commonly Used in Embedded Application Development
来源 | 吃时间的虫子TK Software engineers typically need to determine which data structures and algorithms to use based on specific application business logic. It can be said that suitable data structures and algorithms are the cornerstone of stable business software operation. If you are a software engineer, whether you are preparing for coding interviews, optimizing your … Read more
C Language and Embedded System Performance Optimization
C Language and Embedded System Performance Optimization: Improving System Response Speed In embedded system development, performance optimization is a crucial topic. Since embedded devices usually have limited resources, optimizing code to improve system response speed is particularly important. This article will introduce some common performance optimization techniques and illustrate them with C language code examples. … Read more
Getting Started with FreeRTOS: A Guide to Writing Doubly Linked Lists
Abstract: A few days ago, I talked about single linked lists, today I will discuss doubly linked lists in conjunction with the FreeRTOS linked list source code. Note: A linked list item is a node, and a node is a linked list item, they refer to the same thing, it doesn’t matter what you call … Read more
Understanding Memory Alignment of C Structs in Embedded Systems
Today, I bring you a classic and commonly mistaken question about memory alignment of C language structures: Calculate the number of bytes occupied by the following structure in a 32-bit environment: typedef struct test_struct { char a; short b; char c; int d; char e; }test_struct; Please provide your answer: Let’s take a look at … Read more