Académique Documents
Professionnel Documents
Culture Documents
Réponses
Exercice 2 : Pointers
int main()
{
double *b;
printf("Entrer b:");
scanf("%lf",b); /*on suppose qu’on saisit 567.8*/
}
Sans ajouter aucune variable, quelles sont les instructions à ajouter pour obtenir le résultat suivant :
NB. votre programme peut afficher une autre valeur au lieu de 00b10c60
Devoir N°2 Data structures & Pointers : concepts
Réponses
Exercice 3 : Pointers
Devoir N°2 Data structures & Pointers : concepts
Soit le programme suivant : Réponse
Schéma 1
#include<stdio.h>
#include <stdlib.h>
int main() {
double a=5;
double *b;
b = (double*)malloc(sizeof(double)); // Allouer
de la mémoire pour b
*b=55;
a=*b+5;
b=&a;
*b=a+5;
printf("&a=%p,a=%.2lf\n",&a,a);
printf("&b=%p,b=%.2lf\n",b,*b);
return 0;
}
Devoir N°2 Data structures & Pointers : concepts
Exercice 4 : Pointers
#include<stdio.h>
#include <stdlib.h>
int main() {
double a=5;
double *b;
b = (double*)malloc(sizeof(double));
b=100;
b=&a;
*b=a+5;
printf("&a=%p,a=%.2lf\n",&a,a);
printf("&b=%p,b=%.2lf\n",b,*b);
return 0;
}
#include<stdio.h>
#include<stdlib.h>
typedef struct{
double x;
Soit le programme suivant : double y;
}Point;
typedef struct{
double rayon;
Point*centre;
}Cercle;
int main(){
Point p;
Cercle c;
p.x=3;
p.y=3;
c.rayon=5;
// Associer le point p au cercle c
c.centre = &p;
return 0;
}
Schéma
Devoir N°2 Data structures & Pointers : concepts
#include<stdio.h>
#include<stdlib.h>
#define PI 3.1415926535897932
typedef struct{
double x;
double y;
}Point;
1) Ajouter au code source l’instruction qui permet typedef struct{
d’associer le point p au cercle c. double rayon;
2) Donner le résultat du programme obtenu en Point*centre;
proposant un schéma. }Cercle;
3) Compléter le code source pour obtenir le int main(){
résultat suivant : Point p;
Cercle c;
p.x=3;
p.y=3;
NB. Vous pouvez utiliser l’instruction c.rayon=5;
#define PI 3.1415926535897932 c.centre = &p;
printf("Cercle[rayon=%.2lf,Centre=(%.1lf,
%.1lf),Surface=%.2lf]"
,c.rayon,p.x,p.y,PI*(c.rayon*c.rayon));
return 0;
}