David Brown <address@hidden> wrote:
and
memset((A_String + 16), 0, 1);
has the same effect as :
A_String[16] = 0x00;
delay_about_30_processor_cycles();
waste_about_80_bytes_of_code_space();
Only if you're using -ffreestanding (e.g., in order to get GCC to
accept a return type "void" for main()).
If you're using -fhosted (the default), and optimize, it will
simply result in
A_String[16] = 0;
because the compiler is allowed to use internal library knowledge
in hosted mode.
(The compiler would even be allowed to optimize the sprintf() case,
but by now, it doesn't do that.)