difference entre pointeur et tableau

  • Auteur de la discussion souricou
  • Date de début

souricou

Habitué
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.
 

Jul pa

Habitué
[citation=2086,1][nom]souricou a écrit[/nom]Bonsoir. En raison de la qualité et de l'efficacité de vos explications
[/citation]

:lol:

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 [cpp]t[/cpp] c'est une notation équivalente à [cpp]*(t+i)[/cpp] c'est pourquoi on pourrait écrire [cpp]i[t][/cpp] 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 [cpp]t = (int *) malloc(n * sizeof(int));[/cpp] 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.

C'est à peu pres ta question ?
 

le mogwai

Expert
- un tableau, c'est un ensemble d'objets (à prendre au sens large) rangées dans des petits compartiments mis côte à côte.

- un pointeur, c'est une flèche vers un autre objet (toujours à prendre au sens large)


Après, la manière dont tu implémentes l'un et l'autre, c'est autre chose.
 

souricou

Habitué
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.
 

++Taz

Expert
un tableau n'est pas une l-value

et

<Type> tableau[N] => sizeof Tableau= N * sizeof(<Type>)
 

souricou

Habitué
[citation=2101,1][nom]++Taz a écrit[/nom]un tableau n'est pas une l-value

et

<Type> tableau[N] => sizeof Tableau= N * sizeof(<Type>)
[/citation]

OK, merci bien de la precision.
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 147
Messages
6 718 339
Membres
1 586 417
Dernier membre
Fpfrlrlr
Partager cette page
Haut