Quelle est la différence entre un pointeur constant et un nom de tableau en C?


Réponse 1:
int arr [10] = {0,1,2,3,4,5,6,7,8,9};

// trouvons la taille du tableau -
printf ("Taille:% d \ n", sizeof (arr)); // ceci imprime 40; en supposant que la taille de int est 4

// laissez-moi créer un pointeur constant maintenant
int * const ptr = arr; // doit être initialisé lors de la déclaration

printf ("Taille:% d \ n", sizeof (ptr)); // ceci imprime 4; en supposant que la taille de int est 4
struct DynamicBuffer {
    longueur int;
    char buf [];
};
struct DynamicBuffer * db = (struct DynamicBuffer *) malloc (sizeof (struct DynamicBuffer) + some_length);