如何将int型数值赋值给char型数组

2023-01-14

比如如何将int = 4赋给a[100]?
pc1 = a
*pc1 = 0xFF;
*(pc1+1) = 0x01
*(pc1+2) = (char)sum;
*(pc1+3) = (char)(sum >> 8);
*(pc1+4) = (char)(sum >> 16);
*(pc1+5) = (char)(sum >> 24);
sum++;
这样可以吗?? int型是四个字节大小,char 型是一个字节。
所以int型赋值给char数组需要把int型拆分。

int型拆分成四个字节,按顺序保存在char型数组中就可以了。
具体代码如下:
int i =4;
char a[100];
for(int j=0;j<sizeof(int);j++)

a[j]=((i>>(8*j))&0xff);


其中int型的值4就保存在了char型的数组a中了。
参考知识1 char a[100];
int i = 4;
int loop = 0;
for(loop=0;loop<100;loop++)

a[loop] = (char)i;//注意强制类型转换!!!
参考知识B char a[100];
int i;
for(i=0;i<100;i++) //100个数组元素都赋值为4。
a[i]=4;
参考知识C fill(a,a+100,4)
也可 memset(a,4,100)

相似知识
(1/2)已知有如下声明,则sizeof(test)的值是_____? struct {int i; char c; float a; }tes 如果int和float为4字节的话因该结果为12;int占4字节,float占4字节,中间的char不足4字节,但编译器会进行4字节对齐。所以他也要占字节。参考知识1204+4(1个char,3个填充
C++ 矩阵类 自赋值问题 指针操作的问题吧:while(count!=rhs.row*rhs.col)*(curr+count)=*(rhs.data+count);++count;;再这个循环里每次运算mat的值都发生变化,
一般整型和短整型的区别 C语言没有具体规定各类数据所占内存的字节数,只要求long型数据长于int型,short型短于int型,是由计算机系统自行决定,有的short和int都是16位,long是32位,有的short为16
一个int类型的数sum,占4个字节,共32位,则 sum =sum & 0xffff 是啥含义? 这个涉及到一个常量类型的问题,如果在C语言中语句x=4;那么这个4与sum=sum&0xffff的类型是没有任何差别的,编译器都把它当作有符号int型常量,long型常量就在后面加L或l(小写L),无
u型压力计如何读数? 数值是两边读数差值。u型压力计按工作原理不同可分为:液柱式、弹性式和传感器式3种形式。u型压力计的使用原理:当U型压力计没有与测压点连通前,U型玻璃管内两侧的液面在零刻度线处相平。当U型管的一端与测压
EXCEL中怎么把数值微进去 参考知识1进行单元格操作。要想在中间插入快速的方法是有两种:1、我们点击单元格在输入栏中就会出现这个内容,我们把光标移到数字中间录入就可以了。2、双击单元格,这时候就会出现光标键,把光标键把光标键移到
如何仪器校准,依据是啥 参考知识1校准的目的:1)确定示值的误差,确定是否在预期的允差范围的内;2)得出标称值偏差的报告值,并高精度测量仪器对示值加以修正;3)给标尺标记赋值或确定其他特性,或给予参考物质的特性赋值;4)实现
钳形电流表读数 参考知识1钳形电流表可以每相测一次,也可以三相测一次,此时表上数字应为零,(因三相电流相量和为零),当钳口内有两根相线时,表上显示数值为第三相的电流值。钳形电流表的使用方法1、使用时,将量程开关转到合