求教大神[--len]是什么意思?

求教大神,代码里面的--len是什么意思啊?特别是“--”这个符号代表什么啊?

 void reset(void* p, int len)
{
    while( len > 0 ) 
    {
        ((char*)p)[--len] = 0;
    }
}

先做减法(减1),再引用。给个例子:
int len=3;
a=--len;
则len先自减1,其值变为2,再引用len的值,因而a=2。与之类似的还有a=++len。

-- 是 C 语言标准的运行符
功能:对 -- 后的变量先减1,再进行其它的运算。

在C和C++中,常在表达式中使用自增(++)和自减(--)运算符,他们的作用是使变量的值增1或减1,如:
++i(在使用i之前,先使i的值加1,如果i的原值为3,则执行j=++i后,j的值为4)
--i (在使用i之前,先使i的值减1,如果i的原值为3,则执行j=--i后,j的值为2)
i++ (在使用i之后,使i的值加1,如果i的原值为3,则执行j=i++后,j的值为3,然后i变为4)
i--(在使用i之后,使i的值减1,如果i的原值为3,则执行j=i--后,j的值为3,然后i变为2)
++i是先执行i=i+1后,再使用i的值;而i++是先使用i的值后,再执行i=i+1。

正确地使用++和--,可以使程序简洁、清晰、高效。请注意:
自增运算符(++)和自减运算符(--)只能用于变量,而不能用于常量或表达式。
++和--的结合方向是“自右至左”。
自增运算符(++)和自减运算符(--)使用十分灵活,但在很多情况下可能出现歧义性,产生“意想不到”的副作用。
自增(减)运算符在C++程序中是经常见到的,常用于循环语句中,使循环变量自动加1。也用于指针变量,使指针指向下一个地址。

自减操作,等于len的值自己减一。你的代码等于从数组最后一个元素一一向前给值为0

--len就是先让len-1,然后返回len。
完全没有必要玩弄这种技巧,写两行更好,这种程序不值得模仿

先减一再进行其他运算。
相当于
void reset(void* p, int len)
{
while( len > 0 )
{
len=len-1
((char*)p)[len] = 0;
}
}

自减运算符,表示len先减一再运算,相当于len=len-1

--len 就是把len这个变量自减1 --就是自减符号

自减运算符
类似的有++