C 从无符号整数数组到无符号字符数组的转换

C 从无符号整数数组到无符号字符数组的转换,c,unsigned-integer,unsigned-char,C,Unsigned Integer,Unsigned Char,我不知道如何将无符号int数组转换为无符号char数组。我想收到一些建议 更清楚地说,我的问题是,我有一个函数读取内存,将数据放入无符号整数数组。我想获取这些数据,并将其转换为无符号字符以输入,例如,串行端口 谢谢您可以逐个元素使用uint数组 for (i=0 ; i<arrayLength ; i++) processuChar((unsigned char) uintarray[i]); 这相当含糊。你想实现什么?你真正想做什么?如果您想重新解释字节,一个简单的强制转换就足够了。如

我不知道如何将无符号int数组转换为无符号char数组。我想收到一些建议

更清楚地说,我的问题是,我有一个函数读取内存,将数据放入无符号整数数组。我想获取这些数据,并将其转换为无符号字符以输入,例如,串行端口


谢谢

您可以逐个元素使用uint数组

for (i=0 ; i<arrayLength ; i++) processuChar((unsigned char) uintarray[i]);

这相当含糊。你想实现什么?你真正想做什么?如果您想重新解释字节,一个简单的强制转换就足够了。如果要保留这些值(假设所有值都在[0;255]范围内),则必须编写一个循环并将所有值复制到新数组中。
unsigned int uintarray[N];
unsigned char uchararray[N];

for (i=0 ; i<N ; i++) uchararray[i] = (unsigned char)uintarray[i];
unsigned char *uchararray = malloc(sizeof(unsigned char) * N);
for (i=0 ; i<N ; i++) uchararray[i] = (unsigned char)uintarray[i];
free (uchararray);