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
- La base de données de sécurité du serveur n'a pas de compte d'ordinateur pour la relation ✓ - Forum Réseau
- Célia doit nettoyer le tableau ci-dessous pour l’ajouter à la base de données de son entreprise. les données sont ensuite traitées automatiquement. quelles sont les 4 cellules qui risquent de poser problème ? ✓ - Forum Excel
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++