Notações de acesso (vetores e ponteiros para endereços de vetores): =============================================== | Expressa | Aritmética | Subscrito | =============================================== | Valor | *(nome + índice) | nome[índice] | |----------+------------------+---------------| | Endereço | nome + índice | &nome[índice] | =============================================== Incialização de vetores: Inicialização de ponteiros: Requer inicializadores "agregados" Requer inicializadores "escalares" &c[0] &c[1] &c[2] &c[3] &p[0] &p[1] &p[2] &p[3] +--------+--------+--------+--------+ +--------+--------+--------+--------+ char c[] = {65, 66, 67, 0}; ==> | 0x41 | 0x42 | 0x43 | 0x00 | char *p = "xyz"; ==> | 0x78 | 0x79 | 0x7a | 0x00 | +--------+--------+--------+--------+ +--------+--------+--------+--------+ ↑ &s[0] &s[1] &s[2] &s[3] | +--------+--------+--------+--------+ +--- Endereço em .rodata (read only) char s[] = "abc"; ==> | 0x61 | 0x62 | 0x63 | 0x00 | +--------+--------+--------+--------+ &b[0] &b[1] &b[2] &b[2] +--------+--------+--------+--------+ char b[4] = {0}; ==> | 0x00 | 0x00 | 0x00 | 0x00 | +--------+--------+--------+--------+