memset方法

void *memset(void *s, int ch, size_t n);

将s中的前n个字节用ch替换。

 

一。 memset的方法初始化数组,是设置每个字节的值.

所以如果对int型数组进行初始化,会出错. 但是如果初始化为0,是可以的。

        int intArr[100];
        memset(intArr,1,sizeof(intArr));
        char charArr[100];
        memset(charArr,'1',sizeof(charArr));


通过程序调试可知, charArr数组的每个元素存的是 '1' , 而intArr数组里的每个元素是 16843009 (二进制为:00000001 00000001 00000001 00000001)

其中sizeof(charArr) : 100   ;  sizeof(intArr) : 400

所以不能对int型数组用memset初始化。

猜你喜欢

转载自blog.csdn.net/genius9_9/article/details/46374651