Pour schématiser :
Question en C quand c'est pas initialisés cela n'est pas 'init' par défaut a 0 ?
Un pointeur, c'est juste une variable qui pointe sur une adresse en mémoire.
Donc, à l'initialisation (mettons via une allocation mémoire, ou la déclaration d'un tableau), la valeur du pointeur est correcte, mais le bloc mémoire réservé, lui, n'est pas forcément remis à 0.
Je pense que c'est la même chose en assembleur, non ?
Exemple typique sur Lynx :
Tu fais un jeu qui marche sous émulateur
Tu le télécharges sur la Lynx via BLL et là, il ne marche pas pareil
-> si tu n'initialises pas tes variables et zones mémoires utilisées, sur Lynx, vu qu'un autre programme était en mémoire avant (le loader BLL), ta mémoire vive contient déjà des données (contrairement à Handy ou elle est vide vu que tu démarres la console avec ton jeu). Du coup, si tu n'initialises pas toi-même, tu as des surprises.
Ce n'est pas vraiment lié au C, je suis à peu prêt sur qu'en asm, ça fait la même chose, et même en GFA quand tu fais un MALLOC (le contenu de la zone réservée ne doit pas être nickel)