AccueilPortailS'enregistrerConnexion

Partagez | 
 

 ASD1 exceptionnel

Aller en bas 
AuteurMessage
sirus
Admin
Admin
avatar

Masculin
Nombre de messages : 286
Age : 30
Réputation : 0
Points : 37
Date d'inscription : 30/05/2008

MessageSujet: ASD1 exceptionnel   Lun 10 Nov - 0:43

ici vous trouverai les cour des derniers chapitres du ex module INFORMATIQUE1 au quel nous avons pas eu le temps pour terminer et qu'on les termine en asd1 en deuxième année .
on commencera par les pointeurs
cours
09/10/2008

rappel

une variable est destinée à contenir une valeur du type avec laquelle est déclarée physiquement cette valeur ce situe en mémoire
exemple
int x; //réserver en mémoire pour cette variable
x=10; // écrire la valeur 10 dans l'espace mémoire

représentation de la mémoire (juste pour l'exemple)
int x;
x=10;

remarque
pour obtenir l'adresse d'une variable, on précédé son nom par &
exemple
printf ("%d",&x) => il affiche ?? 62 => adressage directe


un pointeur est aussi une variable, il est destiné a contenir une adresse mémoire
pour différencier un pointeur d'une variable ordinaire, on précédé son nom par * lors de sa déclaration

exemple

int *px //réserver un espace pour stocker en mémoire
px=&x //ayant l'adresse de x dans cet emplacement

exemple





ce pointeur ayant comme valeur cette adresse donc nous pourons utiliser ce pointeur pour lire ou écrire la valeur de X.
pour cela on fait précéder le nom du pointeur par *

exemple:
printf ("%d",*px) // il s'affiche ?? 10

opérations élémentaires sur les pointeurs

les priorités
-- ; ++ ; ! ; * ; & ses opération sont prioritaires que les pointeurs


exemple


p=&x; -> y=x+1
y=*p+1; -> y=x+1
*p+=2 -> x+=2
++*p -> ++x
(*p )++ -> x++
*p=*p+10 ->x=x+10 remarque 1) *p++différent de (*p)++
2) p1 = p2 //p1 et p2 pointent sur la même adresse
le pointeur nul
la valeur numérique 0 pour indiquer qu'un ointeur ne pointe nul part


Dernière édition par sirus le Lun 10 Nov - 1:59, édité 1 fois
Revenir en haut Aller en bas
sirus
Admin
Admin
avatar

Masculin
Nombre de messages : 286
Age : 30
Réputation : 0
Points : 37
Date d'inscription : 30/05/2008

MessageSujet: Re: ASD1 exceptionnel   Lun 10 Nov - 1:21

résumé


int a;
int *p;
p=&a;


a désigne le contennue de a
&a // adresse de a
p // adresse de a
*p // la valeur de a
&p // l'adresse de p
*a // faux



exercice


{ main ()
int a=1,b=2,c=3,*p1 , p2;
p1=&a;
p2=&c;

*p1 = (*p2)++;
p1 = p2;
p2 = &b ;
*p1- = *p2;
++*p2;
*p1 x =*p2;
a = ++*p2 x*p1;
p1=&a;
*p2 = *p1/=*p2;

return 0;
}
Revenir en haut Aller en bas
 
ASD1 exceptionnel
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
 :: Vision Sur l'Université :: Informatique :: Département Informatique LMD :: 2éme Année :: Algorithmique et Stucture de Données-
Sauter vers:  
Créer un forum | © phpBB |  | Contact | Signaler un abus