Flexible Array Members trong C: Ứng dụng và kỹ thuật thực tiễn
Đặc điểm của Flexible Array Members
Flexible Array Members (FAM) là tính năng được thêm vào C99 cho phép khai báo mảng không xác định kích thước trong cấu trúc dữ liệu. Đặc điểm nổi bật:
Kích thước xác định tại thời điểm chạy
Không chiếm không gian cố định trong cấu trúc
Phải là thành viên cuối cùng của struct
Ví dụ minh họa
Xét cấu trúc Doc ...
Đăng vào ngày 4 tháng 7 lúc 19:39
Thao tác mảng và chuỗi trong lập trình C
1. Kiểm tra cấu trúc mảng 1 chiều
#include <stdio.h>
#define KICH_THUOC 4
void kiemTraInt() {
int intArray[KICH_THUOC] = {1, 9, 8, 4};
int i;
printf("Kich thuoc intArray: %d\n", sizeof(intArray));
for(i = 0; i < KICH_THUOC; ++i)
printf("Dia chi %p - Gia tri %d\n", &intArray[i], intArray[i]);
...
Đăng vào ngày 3 tháng 7 lúc 13:22
Hiểu về Kỹ Thuật Chèn Định (Interpositioning) trong Ngôn ngữ C
Giới thiệu
Kỹ thuật chèn định (interpositioning) trong C là một phương thức mạnh mẽ cho phép lập trình viên ghi đè các hàm thư viện chuẩn bằng cách định nghĩa lại chúng trong chương trình của mình. Điều này tuy hữu ích nhưng cũng tiềm ẩn nhiều rủi ro nếu không được hiểu rõ.
Ví dụ 1: Tùy biến hàm strlen
Xem xét đoạn mã sau:
#include
#include ...
Đăng vào ngày 30 tháng 6 lúc 18:57
Thực Hành Các Thuật Toán Căn Bản với Ngôn Ngữ C
Bài viết này khám phá một loạt các bài tập lập trình cơ bản bằng ngôn ngữ C, bao gồm các thuật toán xử lý dữ liệu số, tính toán số học, và các kỹ thuật lập trình đệ quy. Mỗi phần trình bày một vấn đề, giải pháp bằng mã C, và phân tích các khía cạnh quan trọng của việc triển khai.
Bài tập 1: Chuyển đổi điểm số thành xếp loại
Chức năng chính là ...
Đăng vào ngày 26 tháng 6 lúc 18:58
Phân tích sâu lớp render trong space-shooter.c: Xử lý đồ họa đa nền tảng với OpenGL và WebGL
Kiến trúc xử lý đồ họa hiệu năng cao trong dự án game 2D thuần C
Dự án space-shooter.c là một trò chơi bắn súng góc nhìn từ trên xuống được viết hoàn toàn bằng ngôn ngữ C, nổi bật nhờ khả năng chạy trên nhiều nền tảng mà vẫn duy trì hiệu suất đồ họa ổn định thông qua việc tận dụng OpenGL và WebGL. Lớp render của hệ thống không chỉ đơn thuần hiể ...
Đăng vào ngày 26 tháng 6 lúc 14:22
Hướng dẫn phát triển máy chủ WebAssembly trong 10 phút: Emscripten và Mongoose thực chiến
Hướng dẫn phát triển máy chủ WebAssembly trong 10 phút: Emscripten và Mongoose thực chiến
Bạn có đang gặp khó khăn với việc thiếu năng lực backend hiệu quả trong dự án frontend? Bạn đã bao giờ nghĩ đến việc phát triển máy chủ web bằng ngôn ngữ C và chạy trực tiếp trong trình duyệt chưa? Bài viết này sẽ hướng dẫn bạn sử dụng công cụ Emscripten đ ...
Đăng vào ngày 26 tháng 6 lúc 10:19
Lập trình C: Bài tập thực hành về Struct và Enum
Bài tập thực hành 1 - Quản lý sách
Viết chương trình quản lý thông tin sách với các yêu cầu sau:
Mã nguồn
#include <stdio.h>
#define MAX_BOOKS 15
typedef struct {
char ma_sach[20]; // Mã sách
char tieu_de[80]; // Tựa sách
char tac_gia[80]; // Tác giả
double gia_ban; // Giá bán
int so_l ...
Đăng vào ngày 30 tháng 5 lúc 02:09
Redis 5.0.7 Source Code Reading - Dictionary Implementation
In Redis, the dictionary-related files are dict.h and dict.c. The dictionary in Redis is more like a hash table.
Data Structures
dictEntry
typedef struct dictEntry {
void *key;
union {
void *val;
uint64_t u64;
int64_t s64;
double d;
} v;
struct dictEntry *next;
} dictEntry;
The dictEntry str ...
Đăng vào ngày 20 tháng 5 lúc 13:38