考虑 C 编译器将执行填充的任意结构
struct node {
enum type;
size_t num_children;
void** nodes;
};
Run Code Online (Sandbox Code Playgroud)
C 会在第一个元素之前执行填充吗?我问这个是因为我需要做一些时髦的事情void*并要求
void* a = node->nodes[0];
enum type t = *(enum type*)(a);
Run Code Online (Sandbox Code Playgroud)
将始终正确评估。我知道我可以不强制填充,但宁愿不要。
| 归档时间: |
|
| 查看次数: |
46 次 |
| 最近记录: |