que tiene una estructura que se parece a esto:Dirección de la matriz - diferencia entre tener un símbolo de unión y ningún signo
struct packet {
int a;
char data[500];
};
typedef struct packet packet_t;
Estoy un poco confundido por qué el siguiente código genera la misma dirección para cada printf:
void myfunction() {
packet_t packet;
printf("%p\n", packet.data); //e.g., outputs 0x7fff1c323c9c
printf("%p\n", &packet.data); //e.g., outputs 0x7fff1c323c9c
}
¿Alguien tiene una buena explicación para esto?
¿Quiere decir "por qué las dos líneas dan el mismo resultado", o "por qué los resultados son los mismos para cada llamada de función"?Lo primero es fácil (porque los indicadores apuntan a lo mismo), lo último es imposible de decir. –
Si se refiere a una matriz por nombre sin usar corchetes, se enmascara como un puntero al primer elemento. –
posible duplicado de ["Dirección de" (&) una matriz/dirección de ser ignorado gcc?] (Http://stackoverflow.com/questions/2893911/address-of-an-array-address-of-being- ignored-be-gcc) – Caleb