Need help understanding pointers in given code -
fbyte *d = (fbyte*) dst; const fbyte *s = (const fbyte*) src; while(cnt >= sizeof(int)) { *(int*) d = *(int*) s; d += sizeof(int); s += sizeof(int); cnt -= sizeof(int); }
i new c programming , unable understand how 4th line of code working
*(int*) d = *(int*) s;
any help appreciated.
this whole piece of code copying buffer in src
dst
. while
loop iterates on src
, , in each iteration copies single int
.
let's examine right hand side of 4th line:
s
pointer area of source memory want copy. the first cast ((int *)s
) means treating pointer int
the deference before (* (int *)s
) means take value point pointing to. the same applies left hand side of expression.
so, basically, you're iterating on src
buffer, , in each iteration copying value of current int
dst
.
pointers
No comments:
Post a Comment