Ce lien indique que "Lorsqu'un automatique de tableau ou de la structure est partiellement initialiseur, le reste est initialisé à 0". J'ai décidé d'essayer ce que j'ai lu et écrit le morceau de code suivant:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void)
{
//int arr[3] = {2}; // line no. 7
struct s {
int si;
int sj;
};
struct s myStruct;
myStruct.si = 9;
printf("%d\n", myStruct.sj);
}
Je ne comprends pas pourquoi 4096
(qui je crois est une certaine "déchets" de la valeur) est imprimé quand je commenter line no. 7
et je reçois 0
quand je décommentez line no. 7
. Je ne pense pas que l' arr
déclaration a quelque chose à voir avec main()
s'activation de l'enregistrement (ou plutôt myStruct
) qui devrait ressembler (à condition que nous avons line no. 7
sans commentaire):
---------------
| Saved PC |
---------------
| arr[2] |
---------------
| arr[1] |
---------------
| arr[0] |
---------------
| si |
---------------
| sj |
---------------
Quelqu'un peut-il expliquer ce que je suis en manque ici?