如何用memset给int数组初始化非0初值
1.给int数组赋非0初值
int iArray[5];
memset(ar, 2, sizeof(int) * 5);
打印结果,发现数组的值不是2,如果赋0值,数组里值是正确的,请问是为什么?
2.给char数组赋值
char cArray[5];
memset(cArray, '2', sizeof(char) * 5);
打印结果,发现数组的值不是字符2,为什么int数组就不行呢,
请问对于int数组如何用memset初始化非0初值呢?
[解决办法]
因为memset只能逐个字节赋值,而int数组要求每4字节赋值。你这样用得到的是0x2020202这个整数。没有任何办法用memset做到这点
[解决办法]
[解决办法]
[解决办法]
memset只能设置单字节,不能4个字节4个字节设置