J'ai un pointeur sur un tableau d'entiers de 10. Que devrait me donner le déréférencement de ce pointeur?pointeur de déréférencement vers un tableau d'entiers
Par exemple:
#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?
}
Ou vous pouvez convertir un type entier approprié - comme uintptr_t de '' '' et utiliser un élément de format approprié, probablement PRIuPTR (il dit, travaillant à partir d'une mémoire flaky). –
Litb, pouvez-vous m'expliquer ce que signifie "déréférencement vous donne le tableau"? Est-ce encore un pointeur sur le tableau? ou est-ce l'adresse du premier élément? – chappar
Il vous donne la même chose que juste nommer "var" vous donnerait: Le tableau :) Ainsi, 'sizeof (* ptr) == 10 * sizeof (int)', et '& * ptr == int (*) [ 10] ' –