Faux, sizeof() donne la taille que la variable prend dans la mémoire en octets, mais en pawn cette fonction ne donne pas la valeur exacte.
Exemple:
new var = 5;
printf("Taille dans la mémoire de var = %d\n", sizeof( var ) );
cela affiche -> Taille dans la mémoire de var = 1
Ce qui est normalement faux, vu qu'une variable en pawn est ( presque ? ) toujours en 4octets ( 32bits ), donc normalement cela devrai affiché
Taille dans la mémoire de var = 4
alors qu'en C
int main( int argc, char ** argv )
{
int var = 5;
printf("Taille dans la mémoire de var = %d\n", sizeof( var ) );
system( "pause" );
return 0;
}
on obtient
Taille dans la mÚmoire de var = 4
Appuyez sur une touche pour continuer...
et si on fait
new var[4] = {5, 4, 3, 2};
printf("Taille de var dans la mémoire %d\n", sizeof( var ) );
ce code affiche -> Taille de var dans la mémoire 4
alors qu'en C
int main( int argc, char ** argv )
{
int var[4] = {5, 4, 3, 2 };
printf("Taille dans la mémoire de var = %d\n", sizeof( var ) );
system( "pause" );
return 0;
}
ce code affiche:
Taille dans la mÚmoire de var = 16
Appuyez sur une touche pour continuer...
donc, on voit qu'en pawn, sizeof() divise par 4 la taille de la variable dans la mémoire, et je n'ai jamais compris pourquoi ^^