top of page

Filmina 8

 

 

Inicializadores de matriz
Una matriz puede ser inicializado por una lista de valores.Por ejemplo:

int V1[] = {1, 2, 3, 4};
char v2[] = {'a', 'b', 'c', 0};
Cuando se declara una matriz sin un tamaño específico, pero con una lista de inicialización, el tamaño se calcula
contando los elementos de la lista de inicialización. Por consiguiente, V1 y V2 son de tipo int[4] y
Char [4], respectivamente. Si no se especifica explícitamente un tamaño, es un error dar elementos sobrantes en un
lista de inicialización. Por ejemplo:
char v3[2] = {'a', 'b', 0}; / / error: demasiados inicializadores
char v4[3] = {'a', 'b', 0}; / / ok
Si el inicializador suministra muy pocos elementos, 0 se asume para los elementos de matriz restantes.Para
ejemplo:

int v5[8] = {1, 2, 3, 4};
es equivalente a
int v5[] = {1, 2, 3, 4, 0, 0, 0, 0};
Tenga en cuenta que no existe una asignación matriz para que coincida con la inicialización:
void f ()
{
v4 = {'c', 'd', 0}; / / error: no asignación de array
}
Cuando necesite tales asignaciones, use avector (§ 16.3) o avalarray (§ 22.4) en su lugar.
Una serie de caracteres puede ser convenientemente inicializado por una cadena literal (§ 5.2.2).

The C++ Programming Lenguage special 3rd Edition - Stoustrup 1997.Pag:89

bottom of page