编辑代码

#include <stdio.h>

typedef unsigned int uint32_t;
typedef unsigned char uint8_t;

typedef struct
{
    uint32_t addr;
    uint32_t size;
}mem_info_t;

int main ()
{
    mem_info_t mem =
    {
        .addr = 0x80002345,
        .size = 100
    };
    uint8_t arr1[] =
    {
        [0]   = 100,
        [1 ... 6] = 80,
        [7]   = 200
    };
    uint8_t arr2[] = {5, 9, 8};
    uint32_t i = 0;


    printf("addr: %x, size: %d\n", mem.addr, mem.size);

    for (i=0; i<sizeof(arr1); i++)
        printf("arr1[%u]: %u\n", i, arr1[i]);

    for (i=0; i<sizeof(arr2); i++)
        printf("arr2[%u]: %u\n", i, arr2[i]);

    int key = 0;
    while ((key = getchar()) != 'x')
        printf("key %x pressed.\n", key);

    return 0;
}