J'étais en train de fouiller dans les fichiers d'en-tête de mon microcontrôleur MSP430 et je me suis heurté à cela dans <setjmp.h>
:
/* r3 does not have to be saved */
typedef struct
{
uint32_t __j_pc; /* return address */
uint32_t __j_sp; /* r1 stack pointer */
uint32_t __j_sr; /* r2 status register */
uint32_t __j_r4;
uint32_t __j_r5;
uint32_t __j_r6;
uint32_t __j_r7;
uint32_t __j_r8;
uint32_t __j_r9;
uint32_t __j_r10;
uint32_t __j_r11;
} jmp_buf[1]; /* size = 20 bytes */
Je comprends qu’il déclare une structure anonyme et que typedef le soit à jmp_buf
, mais je ne peux pas comprendre à quoi sert le [1]
. Je sais qu'il déclare que jmp_buf
est un tableau avec un membre (de cette structure anonyme), mais je ne peux pas imaginer à quoi il sert. Des idées?