编译c时提示“dereferencing type-punned pointer will break strict-aliasing rules”如何处理?

1. 示例如下:

char my_array[10];

*(int *)my_array = 0xaabbccdd;

 

2. 修改如下即可解决此问题:

char my_array[10];

int tmp = 0xaabbccdd;

memcpy(my_array, &tmp, sizeof(tmp));

posted @ 2020-04-15 21:48  Jello  阅读(1585)  评论(0编辑  收藏  举报