J'ai une question concernant l'utilisation de malloc et de free. Existe-t-il des règles sur le placement de free par rapport à malloc dans le programme? Par exemple, j'ai l'impression que celui-ci doit se situer à la même "hauteur" par rapport aux blocs d'instructions:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
char* exemple = (char*)malloc(10 * sizeof(char));
if (test)
{
	free(exemple);
	return 1;
}
free(exemple);
return 0;
Est-ce que les deux free() vont marcher comme il faut? Enfin, dans ce cas précis je crois bien que oui, mais y a-t-il des règles à ce sujet ou bien peut-on agencer son programme comme on veut?