内存集的行为

behavior of memset

本文关键字:内存      更新时间:2023-10-16

此函数的行为是否与memset相同?

inline void SetZeroArray( void *vArray[], unsigned int uArraySize )
{
       for(unsigned i=0; i<=uArraySize; i++ )
                    vArray[i] = NULL;
}
int main( int argc, char *argv[] )
{
        unsigned int uLevels[500];
        SetZeroArray( (void**)uLevels, 500 );
        unsigned int ulRLevels[500];
        memset( &ulRLevels, 0, sizeof( ulRLevels ) );

    system("pause>nul");
    return EXIT_SUCCESS;
}

不,您的函数的行为与memset不同。 您的函数设置指向 NULL 的指针,memset将数据的值设置为提供的值。

完全不同的事情。