C kerdes, NULL ptr

Info info at kiralyelektronika.hu
Tue Jul 10 21:30:40 CEST 2007


> /******************************************************************************/
> uint config_checksum(uchar* buf, uchar length, uint* checksum)
> {
>     uint tmp_checksum=0;
>     do{
>         *checksum+=*buf;
>      tmp_checksum+=(*buf++);
>     }while(--length);
>     return tmp_checksum;
> }
> /******************************************************************************/

> néha így hívnám meg:
> chksum=config_checksum(buf, 100, NULL);
> neha meg így:
> config_checksum(buf,100,&chksum);
> Első eset elfogadható, csinálhat vmi őrültséget?

Semmit azon kívül, hogy beírja a [000] címre az értéket :)

Így nem lenne jobb ? (és gyorsabb)

 uint config_checksum(uchar* buf, uchar length, uint* checksum)
 {
     uint tmp_checksum=0;
     do{tmp_checksum+=(*buf++)}while(--length);
     if (checksum){*checksum=tmp_checksum}
     return tmp_checksum;
 }



More information about the Elektro mailing list