Question de base C
Résolu/Fermé
A voir également:
- Question de base C
- Formules excel de base - Guide
- Base de registre - Guide
- Formules mathématiques de base - Télécharger - Études & Formations
- #1046 - aucune base n'a été sélectionnée - Forum MySQL
- Gigaset ne reconnait plus sa base - Forum telephonie fixe
2 réponses
Ravachol
Messages postés
566
Date d'inscription
vendredi 5 mars 2004
Statut
Membre
Dernière intervention
30 octobre 2005
120
31 janv. 2005 à 22:52
31 janv. 2005 à 22:52
Salut,
Dejà ton code tel qu'il est contient une erreur (classique), à savoir que tu utilises le pointeur p avant de l'avoir initialisé.
Une solution possible est:
Dans ce cas de figure la valeur de p est l'adresse de la variable i et la valeur de &p est l'adresse où est stockée la valeur de p.
Si tu fais p++ tu incrémentes la valeur de p soit ici adresse de i + taille d'un entier. Après cette opération et sur un système où un entier est stocker sur 4 octets, tu auras p = adresse de i +4 octets et &p inchangée.
(Ajout): Dans l'exemple que j'ai pris le fait de faire p++ nous ramènes à un pointeur non initialisé qui pointe donc n'importe où. Sans une opération d'allocation mémoire il ne faut pas écrire dans ce pointeur.
En espérant avoir été clair ;-)
A++
Dejà ton code tel qu'il est contient une erreur (classique), à savoir que tu utilises le pointeur p avant de l'avoir initialisé.
Une solution possible est:
int *p; int i = 3; p = &i;
Dans ce cas de figure la valeur de p est l'adresse de la variable i et la valeur de &p est l'adresse où est stockée la valeur de p.
Si tu fais p++ tu incrémentes la valeur de p soit ici adresse de i + taille d'un entier. Après cette opération et sur un système où un entier est stocker sur 4 octets, tu auras p = adresse de i +4 octets et &p inchangée.
(Ajout): Dans l'exemple que j'ai pris le fait de faire p++ nous ramènes à un pointeur non initialisé qui pointe donc n'importe où. Sans une opération d'allocation mémoire il ne faut pas écrire dans ce pointeur.
En espérant avoir été clair ;-)
A++