内存块问题

来源:百度知道 编辑:UC知道 时间:2024/06/09 12:32:06
C语言实现统计一段内存块之中,位置的值是1的总个数。

unsigned long Count1InMemBlock(unsigned char *pMem,unsigned long MemSize)
{
unsigned char *pWork = pMem;
unsigned long i = 0;
unsigned long RetVal = 0;
for ( i = 0 ; i < MemSize ; i++ )
{
if ( 1 == *pWork )
{
RetVal++;
}
pWork++;
}
return RetVal;
}

int main(void)
{
//定义一个大小为10个整型的数组,给它随便赋初值
//我们来统计一下在这个整型数组中位置是1的个数
unsigned char Arr[10];
Arr[3] = 1;
Arr[5] = 1;

printf("统计结果:[%d]\n",Count1InMemBlock((unsigned char *)Arr,sizeof(Arr)));

getchar();
return 0;
}