LeKamé
-
28 mai 2001 à 19:05
david_fryda
Messages postés12Date d'inscriptiondimanche 13 novembre 2005StatutMembreDernière intervention29 juin 2009
-
2 janv. 2007 à 20:23
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
david_fryda
Messages postés12Date d'inscriptiondimanche 13 novembre 2005StatutMembreDernière intervention29 juin 2009 2 janv. 2007 à 20:23
Salut,
Voici code suivant :
int *a, b=11;
a=&b;
Disons que l'adresse de b est 0xabcdefg.
Est-ce possible de creer un pointer qui pointe sur cette adresse.
Le pseudo code serait :
pointer = 0xabcdefg.
Merci
cppdupdup34
Messages postés212Date d'inscriptiondimanche 29 juin 2003StatutMembreDernière intervention13 mai 2006 19 févr. 2004 à 23:43
//START//
tu pourrais parler de pointeur de structure.
mais aussi pour passer en argument a une fonction une chaine de charactere
ca pourrait etre utile
//END//
cs_tibur
Messages postés101Date d'inscriptionsamedi 9 février 2002StatutMembreDernière intervention 5 mai 2009 14 févr. 2004 à 22:24
demo simple : essaye ca
void echanger(int a, int b){
int temp = b;
b = a;
a = temp;
}
void echanger(int * a, int * b){
int temp = *b;
*b = *a;
*a = temp;
}
superpa
Messages postés113Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 5 janvier 2004 24 févr. 2003 à 16:00
On dira que la critique est facile, mais bon faut corriger les bugs.
Alors un 1: comme déjà dit, faut pas de guillemets pour l'affectation. Mais ce n'est pas tout: Un warning apparaît à la compilation (Avec VC6.0): il faut caster 121.54 comme suit: (long)121.54 ou alors déclarer var et *p_var comme double.
Autre chose bien plus grave: surtout, ne pas afficher &p_var, on affiche l'adresse du pointeur: ce qui n'a aucun sens. Ce qu'on veut c'est afficher le contenu de la variable pointée par p_var => *p_var.
Vanpet: utilité des pointeurs:
NooN a déjà bien répondu, mais n'oublions pas que ces pointeurs ne sont pas indispensables: par exemple Java n'en a pas.
Alors pourquoi en user? L'intérêt est l'accès direct à la mémoire => gain de temps. Par exemple griser une image pour aller jusqu'à 75x plus vite avec des pointeurs que sans.
Mais parcontre, les pointeurs sont très dangereux, on peurt accéder à des zones mémoires non autorisées et par exemple écrire des données sur le segment de code.
Ne jamais oublier que les pointeurs sont comme un bistouri: dans les mains d'un chirurgien, c'est un outils très précieux. Mais dans les mains d'un terrorsite, c'est une arme qui peut tuer.
zeratul67
Messages postés97Date d'inscriptionmardi 9 avril 2002StatutMembreDernière intervention11 mai 2008 19 nov. 2002 à 16:43
c bien fait mais c du niveau 1 ...
cs_NooN
Messages postés3Date d'inscriptionlundi 17 juin 2002StatutMembreDernière intervention29 juin 2002 18 juin 2002 à 12:42
Les pointeurs sont tres utiles pour faire varier des variables lorsque tu appel une fonction, car dans une fonction les variables sont locales a celle-ci et n'existe plus apres son appel. Tu arua beau faire varier ce que tu mets en paramètre, elles ne changeront pas d'un iota dans ton main. Par contre transmettre l'adresse d'une variable et l'utiliser dans une fonction te permet de la manipuler directement ... les pointeurs sont indispensables, en plus ca t'evite les effets de bords :)
vanpet
Messages postés149Date d'inscriptionlundi 17 décembre 2001StatutMembreDernière intervention 5 février 2006 17 févr. 2002 à 20:00
a quoi ca sert les pointeurs ?
merci de me donner une reponse theorique mais aussi nu exemple pratique (de preference très petit dans lequel les pointeurs seraient INDISPENSABLES)
j'en demande peut-etre trop ? je sais pas... plzz aidez-moi !
cs_mathon
Messages postés6Date d'inscriptionmercredi 30 janvier 2002StatutMembreDernière intervention 9 mars 2002 1 févr. 2002 à 11:18
Je suis d'accord qu'il ne faut pas mettre de guillemets. Sinon le tut est plutôt pas mal. Dommage que les listes chainees ne soient pas expliquées, c'est ce qu'il y a de plus compliqué avec les pointeurs.
Merci quand même.
Ca fais longtemps que je ne fais plus que du C++, mais il me semble que déjà en C, cette affectation n’est pas correct (les guillemets serrait de trop) !
2 janv. 2007 à 20:23
Voici code suivant :
int *a, b=11;
a=&b;
Disons que l'adresse de b est 0xabcdefg.
Est-ce possible de creer un pointer qui pointe sur cette adresse.
Le pseudo code serait :
pointer = 0xabcdefg.
Merci
19 févr. 2004 à 23:43
tu pourrais parler de pointeur de structure.
mais aussi pour passer en argument a une fonction une chaine de charactere
ca pourrait etre utile
//END//
14 févr. 2004 à 22:24
void echanger(int a, int b){
int temp = b;
b = a;
a = temp;
}
void echanger(int * a, int * b){
int temp = *b;
*b = *a;
*a = temp;
}
24 févr. 2003 à 16:00
Alors un 1: comme déjà dit, faut pas de guillemets pour l'affectation. Mais ce n'est pas tout: Un warning apparaît à la compilation (Avec VC6.0): il faut caster 121.54 comme suit: (long)121.54 ou alors déclarer var et *p_var comme double.
Autre chose bien plus grave: surtout, ne pas afficher &p_var, on affiche l'adresse du pointeur: ce qui n'a aucun sens. Ce qu'on veut c'est afficher le contenu de la variable pointée par p_var => *p_var.
Vanpet: utilité des pointeurs:
NooN a déjà bien répondu, mais n'oublions pas que ces pointeurs ne sont pas indispensables: par exemple Java n'en a pas.
Alors pourquoi en user? L'intérêt est l'accès direct à la mémoire => gain de temps. Par exemple griser une image pour aller jusqu'à 75x plus vite avec des pointeurs que sans.
Mais parcontre, les pointeurs sont très dangereux, on peurt accéder à des zones mémoires non autorisées et par exemple écrire des données sur le segment de code.
Ne jamais oublier que les pointeurs sont comme un bistouri: dans les mains d'un chirurgien, c'est un outils très précieux. Mais dans les mains d'un terrorsite, c'est une arme qui peut tuer.
19 nov. 2002 à 16:43
18 juin 2002 à 12:42
17 févr. 2002 à 20:00
merci de me donner une reponse theorique mais aussi nu exemple pratique (de preference très petit dans lequel les pointeurs seraient INDISPENSABLES)
j'en demande peut-etre trop ? je sais pas... plzz aidez-moi !
1 févr. 2002 à 11:18
Merci quand même.
30 juil. 2001 à 14:50
var = "121.54";
Ca fais longtemps que je ne fais plus que du C++, mais il me semble que déjà en C, cette affectation n’est pas correct (les guillemets serrait de trop) !
28 mai 2001 à 19:05