Hi Grincheux,
Testing this code :
#include <stdio.h>
int main()
{
char szNullString[] = "\0" ;
char szString1[] = "1" ;
char szString2[] = "12" ;
char szString3[] = "123" ;
char szString4[] = "1234" ;
return 0;
}
The diassembly of the object module :
.386
option dotname
.model flat
public _main
_text SEGMENT PARA PUBLIC 'CODE'
_main PROC NEAR
push ebp
mov ebp, esp
sub esp, 16
mov byte ptr [ebp-2H], 0
mov byte ptr [ebp-1H], 0
mov byte ptr [ebp-4H], 49
mov byte ptr [ebp-3H], 0
mov byte ptr [ebp-7H], 49
mov byte ptr [ebp-6H], 50
mov byte ptr [ebp-5H], 0
mov byte ptr [ebp-0BH], 49
mov byte ptr [ebp-0AH], 50
mov byte ptr [ebp-9H], 51
mov byte ptr [ebp-8H], 0
mov byte ptr [ebp-10H], 49
mov byte ptr [ebp-0FH], 50
mov byte ptr [ebp-0EH], 51
mov byte ptr [ebp-0DH], 52
mov byte ptr [ebp-0CH], 0
mov eax, 0
mov esp, ebp
pop ebp
ret
_main ENDP
_text ENDS