C++ memset简单粗暴的理解

    技术2025-10-23  7

    memset函数本来是C语言中对char数组的整体赋值函数。

    但是我们一般都是要用它来对int数组或者其他类型的数组进行整体初始化。

    具体操作如下:

    初始化为0 int array[10]; memset(array, 0, sizeof(array)); 初始化为-1 int array[10]; memset(array, -1, sizeof(array));

    但是!

    十进制数的初始化就仅限于此了,即只能赋值为0/-1。

    是因为:

    memset是按字节赋值的,对于char类型来说刚好一个字节长度,可以随便赋值。而对于int型来说,0和-1的32位补码分别是全0和全1,所以跟char类型的一样。

    但是其实按字节对自己类型的数组进行memset赋值,也是可以成功的。

    Processed: 0.013, SQL: 9