Bonsoir. En raison de la qualité et de l'efficacité de vos explications, c'est vers vous que je me tourne pour connaitre la difference exacte entre un tableau et un pointeur alloué dynamiquement. En effet je sais que ca "peut" marcher pareil mais j'aimerai savoir quand choisir l'un ou l'autre et connaitre exatement pourquoi c'est different.
Merci bien.
Bonsoir. En raison de la qualité et de l'efficacité de vos explications
Je vois pas ce que tu veux savoir exactement, je vais essayer de répondre à ce que je pense être ta question.
Quand on ecrit
Code :
t[i]
c'est une notation équivalente à
Code :
*(t+i)
c'est pourquoi on pourrait écrire
Code :
i[t]
même si ca deviendrait illisible. En ca on peut dire que pointeur et tableau c'est pareil.
Cependant si tu fais dnas une fonction pour un tableau de n entiers
Code :
t = (int *) malloc(n * sizeof(int));
alors là il s'agit toujours d'un tableau mais allouer dynamiquement, donc ta fonction peut renvoyer t car tu renvoies l'adresse un tableau et non un tableau.
Ce que je veux dire c'est par exemple, qu'on peut utiliser l'un ou l'autre comme on l'entends. Si par exemple on connait la taille à l'avance, on peut le faire par un tableau mais si on ne la connait pas, alors on fait ça à l'aide d'un pointeur alloué dynamiquement vers une zone de mémoire qui contiendra la même chose que le tableau. Ce que je me dis donc, c'est que ca revient à peu près au même d'utiliser l'un ou l'autre. Etes-vous d'accord ou pensez vous qu'à des endroits précis, l'un est plus approprié que l'autre? Car pour moi en fait, tableau et pointeur sur zone de mémoire de la taille du tableau c'est pareil. Je sais que des putistes ou ptet juste bon programmeurs diront que non. C'est pourquoi que j'aimerais bien savoir.