Tengo un puntero a una matriz de enteros de 10. ¿Qué me debería dar la desreferenciación de este puntero?puntero de desreferenciación en la matriz de enteros
Ej:
#include<stdio.h>
main()
{
int var[10] = {1,2,3,4,5,6,7,8,9,10};
int (*ptr) [10] = &var;
printf("value = %u %u\n",*ptr,ptr); //both print 2359104. Shouldn't *ptr print 1?
}
O puede convertir a un tipo entero apropiado - como uintptr_t de '' ''y usar un elemento de formato apropiado, probablemente PRIuPTR (dice, trabajando desde una memoria escamosa). –
litb, ¿me puede explicar qué significa "desreferenciación le da la matriz"? ¿De nuevo apunta a la matriz? o es la dirección del primer elemento? – chappar
Te da lo mismo que nombrar "var" te daría: La matriz :) Por lo tanto, 'sizeof (* ptr) == 10 * sizeof (int)', y '& * ptr == int (*) [ 10] ' –