小编Lea*_*ver的帖子

将一个int指针转换为char ptr,反之亦然

问题很简单.据我了解,GCC坚持认为字符将是字节对齐的,并且在32位环境中对齐4字节对齐.我也知道C99标准6.3.2.3,它表示在未对齐的指针类型之间进行转换会导致未定义的操作.C的其他标准对此有何评论?这里也有许多经验丰富的编码员 - 对此有任何看法将不胜感激.

int *iptr1, *iptr2;
char *cptr1, *cptr2;

iptr1 = (int *) cptr1;
cptr2 = (char *) iptr2;
Run Code Online (Sandbox Code Playgroud)

c types pointers casting c89

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

标签 统计

c ×1

c89 ×1

casting ×1

pointers ×1

types ×1