byłem podsłuchiwanie poprzez pliki nagłówka mojego MSP430 mikrokontrolera, i wpadłem na to w <setjmp.h>
:Jaki jest cel tego [1] na końcu deklaracji struct?
/* 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 */
Rozumiem, że deklaruje anonimowy struct i typedef to go jmp_buf
, ale nie mogę dowiedzieć się, co [1]
jest dla. Wiem, że deklaruje ona, że jmp_buf
jest tablicą z jednym członkiem (tej anonimowej struktury), ale nie mogę sobie wyobrazić, do czego służy. Jakieś pomysły?
Coś wspólnego z rozkładaniem się na wskaźnik? – Elazar
Ostateczny komentarz wydaje się całkowicie błędny ... –
Doskonałe pytanie! – SRG