Introduction to Basic C Programming

Author Introduction The author, Wang Yibo, has graduated for over ten years, and is the author of “Algorithm Secrets”, focusing on the explanation of data structures and algorithms. He has solved over 2000 problems on more than 30 algorithm websites globally, and has written over 800 algorithm problem solutions on his public account, having unique … Read more

Detailed Explanation of Pointers in C Language

Detailed Explanation of Pointers in C Language

Pointers in C language are variables that store the address of another variable. This variable can be an int, char, array, function, or any other pointer type. The size of a pointer depends on the computer architecture. However, in a 32-bit computer architecture, the size of a pointer is 2 bytes. Consider the following example … Read more

Understanding C Language Pointers: A Comprehensive Guide

Understanding C Language Pointers: A Comprehensive Guide

Click on “Beginner Learning Visuals” above to choose to add “Star” or “Top“ Essential knowledge delivered promptly. Editor’s Recommendation Pointers are crucial in C. To fully understand pointers, one must not only be proficient in C but also have fundamental knowledge of computer hardware and operating systems. Reprinted from丨Embedded Intelligence Bureau Why Do We Need … Read more

Detailed Guide to C Language Programs

Detailed Guide to C Language Programs

C programs are frequently asked questions in interviews. These programs can range from basics, arrays, strings, pointers, linked lists, file handling, etc. Let’s take a look at the list of C programs. 1) Fibonacci Sequence Without Recursion: #include <stdio.h> void printFibonacci(int n) { int a = 0, b = 1, nextTerm; for (int i = … Read more

Differences Between Circular Queue and Message Queue in RTOS

Differences Between Circular Queue and Message Queue in RTOS

Original from WeChat Official Account | Embedded Column “Circular queue” and “message queue” are widely used in the embedded field, and experienced embedded software engineers are likely familiar with them. However, beginners often have related questions. Today, I will share some content about “circular queues” and “message queues”. Circular Queue A circular queue is a … Read more

Comprehensive Learning Path for Embedded AI Engineers

Comprehensive Learning Path for Embedded AI Engineers

Follow the Embedded Learning Station to get more fresh hot topics. Before discussing the learning path, let’s first understand what embedded development is. Simply put, an embedded system consists of two parts: software and hardware. It is application-centered and can achieve software and hardware tailoring. Software includes: specific business applications and operating systems (simple applications … Read more

Optimizing Program Size in Embedded C/C++ Development: Structure Optimization

Optimizing Program Size in Embedded C/C++ Development: Structure Optimization

Optimizing Program Size in Embedded C/C++ Development: Structure Optimization In <span>C</span> and <span>C++</span> programming, the memory layout of structures (<span>struct</span>) has a significant impact on program performance and memory usage, especially in embedded development where <span>RAM</span> is limited to <span>16K</span>, <span>8K</span>, or even <span>4K</span>; every byte counts, and there is no room for waste. This … Read more

Python-ds: A Powerful Python Library for Data Structures

Python-ds: A Powerful Python Library for Data Structures

What is python-ds? First, let’s understand what python-ds is. Python-ds is a Python library designed to simplify and enhance data structure operations. It provides a rich set of data structures, including linked lists, stacks, queues, graphs, hash tables, and more, along with methods for operating on these structures, greatly reducing the workload of manually implementing … Read more

Common Data Structures in Zephyr Kernel

Common Data Structures in Zephyr Kernel

This article provides an overview without technical details or usage instructions. The Zephyr kernel uses a generic data structure library, which can also be utilized in applications. The data structures include: Linked List Packet Buffer Red-Black Tree Circular Buffer It is important to note that the APIs for accessing these data structures are not thread-safe. … Read more

Zephyr Kernel Data Structures – Red-Black Tree

Zephyr Kernel Data Structures - Red-Black Tree

Overview The search time complexity of a linked list is O(N). As the number of members managed by the linked list increases, the algorithmic cost of searching increases. To address this, Zephyr provides an implementation of a red-black tree, where the time complexity for search and delete operations is O(log2(N)) for a tree of size … Read more