Langage C

Résolu/Fermé
Makon Messages postés 6 Date d'inscription lundi 29 octobre 2007 Statut Membre Dernière intervention 15 avril 2011 - 29 oct. 2010 à 11:59
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 29 oct. 2010 à 15:22
bonjour ,
j'aimerai savoir comment créer une variable dynamique en utilisant les pointeurs dans le langage C. Si vous pourriez me donner la declaration du pointeur et la definition de la variable dynamique. je serais tres heureux.merci a vous
A voir également:

2 réponses

Xelored Messages postés 29 Date d'inscription mardi 26 octobre 2010 Statut Membre Dernière intervention 3 août 2012 3
29 oct. 2010 à 12:09
salut, vas sur le site du zéro.
Dans la rubrique "langage C", c'est la partie 2 du cours. Tu y trouveras un cours très complet, sympa et simple.

Mais les pointeurs, c'est assez compliqué, alors ne t'attends pas à un miracle non plus^^
1
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
29 oct. 2010 à 12:13
C'est pas que c'est compliqué, c'est que c'est difficile à apréhender. En gros, il faut un moment à assimiler le concept, les tenants et aboutissants, mais une fois qu'on connais, ca coule sous le sens.
0
Xelored Messages postés 29 Date d'inscription mardi 26 octobre 2010 Statut Membre Dernière intervention 3 août 2012 3
29 oct. 2010 à 12:14
mouais, c'est plutôt ça, oui^^
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
29 oct. 2010 à 12:08
c'est pas très compliqué.
on va dire qu'on veut faire uen variable dynamique de type entier:
int* mon_pointeur;
L'étoide signifie que c'est un pointeur.
Donc là on a un pointeur, mais qui ne pointe sur rien. Pour allouer de la mémoire à ce pointeur, on va faire ceci:
mon_pointeur = new int;

le new int crée dynamiquement la variable...

en une ligne on peux faire
int* mon_pointeur = new int;
(je pense que ca passe).

pour avoir le contenu de la variable, il faudra utiliser *mon_pointeur, alors que pour avoir l'adresse de la variable, tu utiliseras mon_pointeur

tu auras des explications et cours sur le siteduzero
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
29 oct. 2010 à 13:46
Juste pour apporter une précision :
int *pointeur=malloc(sizeof (int)); /*pas de new en C, ainsi Nabla's :-p.*/
pointeur contiendra l'adresse d'une case mémoire de type int. Et *pointeur pointera sur cette case.
Ainsi, cela permet de modifier la valeur des arguments en envoyant l'adresse mémoire.
Bien sûr, à la fin, il ne faut pas oublier de libérer la case par un simple : free(pointeur);
Cdlt,
0
merci .ta proposition repond a mes attentes
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
29 oct. 2010 à 14:15
oups, désolé pour l'isntruction de C++.
je vais completer alors jusqu'ua bou tpoour la partie C++ (vu que t'as corrigé en donnant tout le C), j'équivalent du free(pointeur) est delete pointeur en C++.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
29 oct. 2010 à 15:22
Pas grave, je te taquinais ;-))).
0