高往低存,可能造成數據截斷。如long long 64位,int 32位,高32位被丟棄。
可以將int數組每兩個元素分別存儲低32位和高32位
int a[4]; //隱式轉換 *a = 2; //目標格式是int,2 默認值 默認值 默認值 *(long long*)a=2; //目標格式是longlong,2 0 默認值 默認值 *(long long*)(a + 2) = 3; //2 0 3 0
高往低存,可能造成數據截斷。如long long 64位,int 32位,高32位被丟棄。
可以將int數組每兩個元素分別存儲低32位和高32位
int a[4]; //隱式轉換 *a = 2; //目標格式是int,2 默認值 默認值 默認值 *(long long*)a=2; //目標格式是longlong,2 0 默認值 默認值 *(long long*)(a + 2) = 3; //2 0 3 0
https://blog.csdn.net/u013129300/article/details/129329786