小编Sil*_*iu.的帖子

为什么在C中减去'0'会导致char表示的数字?

有人可以解释为什么这有效吗?

char c = '9';
int x = (int)(c - '0');
Run Code Online (Sandbox Code Playgroud)

为什么从char的ascii代码中减去'0'会导致char表示的数字?

c c++

22
推荐指数
4
解决办法
2万
查看次数

Malloc实现 - 困惑

我正在尝试为练习创建自己的malloc().我从这个帖子中得到了下面的代码.

typedef struct free_block {
    size_t size;
    struct free_block* next;
} free_block;

static free_block free_block_list_head = { 0, 0 };

// static const size_t overhead = sizeof(size_t);

static const size_t align_to = 16;

void* malloc(size_t size) {
    size = (size + sizeof(free_block) + (align_to - 1)) & ~ (align_to - 1);
    free_block* block = free_block_list_head.next;
    free_block** head = &(free_block_list_head.next);
    while (block != 0) {
        if (block->size >= size) {
            *head = block->next;
            return ((char*)block) + sizeof(free_block);
        } …
Run Code Online (Sandbox Code Playgroud)

c

1
推荐指数
1
解决办法
241
查看次数

标签 统计

c ×2

c++ ×1