c++ - vida - que no poner en un cv
¿Es p=array lo mismo que p=& array[0]? (3)
int numbers[20];
int * p;
¿Las dos asignaciones son iguales?
p = numbers;
p = &numbers[0];
Sí, ambos son lo mismo.
En este caso, el nombre de la matriz decae a un puntero a su primer elemento.
Por lo tanto,
p = numbers; //Name of the array
es lo mismo que:
p = &numbers[0]; //Address of the First Element of the Array
Sí, son lo mismo. Cuando se invoca el nombre de una matriz en un contexto rvalue, se desintegra a un puntero a su primer elemento.
numbers[0] is equal to *number and equal to *(number+0)
numbers[x] = *(number+x)
entonces & (* (número + x)) = número + x que es la dirección del x-ésimo elemento