小编Cor*_*ion的帖子

struct数组的别名为int

struct test
{
    char member1;
    char member2;
};

int main(void)
{
    struct test structure[] = {'h', 'i'};
    static void* p = &structure;

    printf("%i", *((int*)p));

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我们都知道structure应该指向struct中第一个元素的地址.为什么通过这样取消引用它,它会返回地址本身呢?

c arrays pointers strict-aliasing

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

标签 统计

arrays ×1

c ×1

pointers ×1

strict-aliasing ×1