Problème de pointeurs

tibob51 Messages postés 268 Date d'inscription vendredi 30 avril 2004 Statut Membre Dernière intervention 13 mai 2013 - 27 janv. 2005 à 13:37
tibob51 Messages postés 268 Date d'inscription vendredi 30 avril 2004 Statut Membre Dernière intervention 13 mai 2013 - 28 janv. 2005 à 12:50
Bonjour a tous,
Voilà je galère encore grave avec les pointeurs,et j'ai une première question
(il risque d'en y avoir d'autre,vu mon niveau) je voudrai savoir quel est la syntaxe
pour créer un pointeur me permettant de créer dynamiquement un tablo de valeur.
Merci
Ps:Si quelqu'un peut m'indiquer un tut ou une source ça serait cool,ReMerci

6 réponses

bayeto Messages postés 224 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 18 octobre 2010
27 janv. 2005 à 13:57
int nombre = 10;

en C++ tu peux ecrire:
int *tableau = new int[nombre]; //allocation
delete [] tableau; //liberation

et en C: (valable en C++ aussi)
int *tableau = (int*) malloc(nombre*sizeof(int)); //allocation
free(tableau); //liberation

ensuite pour acceder aux valeurs:
for(i = 0 ; i < nombre ; i++)
tableau[i] = 0;
0
titchouno Messages postés 10 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 27 janvier 2005
27 janv. 2005 à 22:23
Moi je voulais savoir autre chose sur les pointeurs.
en effet si je veux un pointeur sur ue variable
comment faire? En fait je fais une confusion entre le & et * . Pouvez vous me donner un exemple
(je crois & valeur et * adresse ???) avec une declaration et un eutilisation des pointeurs.
Merci
0
tibob51 Messages postés 268 Date d'inscription vendredi 30 avril 2004 Statut Membre Dernière intervention 13 mai 2013 2
28 janv. 2005 à 01:27
exemple: (basique)

int valeur;//La variable
int Tablo[5]={1,2,3,4,5};// Un tableau de int;
int *Pvaleur;//Le pointeur

Pvaleur=&valeur;//Pvaleur pointe sur valeur

/*Expliquation,chaque variable(ou objet ) a une adresse mémoire
& permet de récuperer cette adresse donc ici Pvaleur contient l'adresse de valeur*/

*Pvaleur=120;//Maintenant valeur est égal a 120

Pvaleur=t;//Maintenat il pointe sur le tableau t;
/*t contenant des adresses vers des int tu na pas besoin d'utiliser &
Pvaleur pointe sur le premier élément du tableau*/
pvaleur++;//Maitenant c'est sur la deuxième valeur

/*Les valeurs de ton tableau se suivent donc si tu incrémente Pvaleur
il pointe la valeur suivante.ATTENTION si tu dépasse la dernière valeur de ton tableau
Pvaleur pointera une autre donnée (du fait que toutes les valeur se suivent en mémoire)
donc tu aura n'importe quoi comme résultat.*/

Voilà le ptit exemple.

J'espère avoir répondu a tes attentes.

Corrigé moi si mes explications sont mauvaises.
Mais ça marche!
0
tibob51 Messages postés 268 Date d'inscription vendredi 30 avril 2004 Statut Membre Dernière intervention 13 mai 2013 2
28 janv. 2005 à 01:31
Merci de ton explication bayeto je me perd encore avec les pointeur.
Une autre question quel est la différence entre delete et delete[]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bayeto Messages postés 224 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 18 octobre 2010
28 janv. 2005 à 12:32
si tu fais delete tableau; delete ne supprimera que le premier élement
si tu fais delete [] tableau; tu supprime tous les élements
0
tibob51 Messages postés 268 Date d'inscription vendredi 30 avril 2004 Statut Membre Dernière intervention 13 mai 2013 2
28 janv. 2005 à 12:50
Ok, merci.
0
Rejoignez-nous