मैं अपने MSP430 माइक्रोकंट्रोलर की हेडर फ़ाइलों के माध्यम से स्नूपिंग कर रहा था, और मैं इसमें भाग गया <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 */
मैं समझता हूं कि यह एक अनाम संरचना की घोषणा करता है और इसे टाइप करने के लिए टाइप करता है jmp_buf
, लेकिन मैं यह पता नहीं लगा सकता कि इसके लिए क्या [1]
है। मुझे पता है कि यह jmp_buf
एक सदस्य (इस अनाम संरचना के) के साथ एक सरणी होने की घोषणा करता है, लेकिन मैं कल्पना नहीं कर सकता कि इसका क्या उपयोग किया जाता है। कोई विचार?