TP13 Adresses
This commit is contained in:
parent
e1ae3a855f
commit
dd6a1b1bbb
1
APL1.1/TP13/alphabet.rep
Normal file
1
APL1.1/TP13/alphabet.rep
Normal file
@ -0,0 +1 @@
|
||||
Le programme va afficher l'alphabet avec une lettre sur deux étant une minuscule et l'autre étant une majuscule car p va prendre en premier l'adresse de min, ensuite la condition va se ré-itérer et p va prendre l'adresse d'une majuscule etc...
|
22
APL1.1/TP13/cartographie.c
Normal file
22
APL1.1/TP13/cartographie.c
Normal file
@ -0,0 +1,22 @@
|
||||
#include<stdio.h>
|
||||
#include<stdlib.h>
|
||||
|
||||
int main(int argc, char * argv[]) {
|
||||
float a = 1.0f;
|
||||
double b = 2.0;
|
||||
long double c = 3.0L;
|
||||
char d = 'd';
|
||||
short int e = 5;
|
||||
int f = 6;
|
||||
long long unsigned int g = 7ULL;
|
||||
|
||||
printf("%p\n", &a);
|
||||
printf("%p\n", &b);
|
||||
printf("%p\n", &c);
|
||||
printf("%p\n", &d);
|
||||
printf("%p\n", &e);
|
||||
printf("%p\n", &f);
|
||||
printf("%p\n", &g);
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
12
APL1.1/TP13/conversions.c
Normal file
12
APL1.1/TP13/conversions.c
Normal file
@ -0,0 +1,12 @@
|
||||
#include<stdio.h>
|
||||
#include<stdlib.h>
|
||||
#include<math.h>
|
||||
|
||||
int main(int argc, char * argv[]) {
|
||||
double n = M_PI*2;
|
||||
long long int* p = (long long int*) &n;
|
||||
printf("π = %lldLL\n", *p);
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
2
APL1.1/TP13/conversions.rep
Normal file
2
APL1.1/TP13/conversions.rep
Normal file
@ -0,0 +1,2 @@
|
||||
La valeur de pi est réinterprétée sous forme de double dans le premier example.
|
||||
Dans le programme inclus, le processur inverse est utilisé, on prend la valeur de pi sous forme double et on la réinterprète sous forme de long long int.
|
21
APL1.1/TP13/etapes.c
Normal file
21
APL1.1/TP13/etapes.c
Normal file
@ -0,0 +1,21 @@
|
||||
#include<stdio.h>
|
||||
#include<stdlib.h>
|
||||
|
||||
int main(int argc, char * argv[]) {
|
||||
int a = 1, b = 2, c = 3;
|
||||
int *p, *q;
|
||||
|
||||
// -> veut dire "pointe vers" donc p -> a veut dire p pointe vers a.
|
||||
|
||||
p=&a; // a = 1 b = 2 c = 3 ; p -> a ; q -> NULL
|
||||
q=&c; // a = 1 b = 2 c = 3 ; p -> a ; q -> c
|
||||
*p=(*q)++; // a = 3 b = 2 c = 4 ; p -> a ; q -> c
|
||||
q=&b; // a = 3 b = 2 c = 4 ; p -> a ; q -> b
|
||||
*p-=*q; // a = 1 b = 2 c = 4 ; p -> a ; q -> b
|
||||
*p*=*q; // a = 2 b = 2 c = 4 ; p -> a ; q -> b
|
||||
a=++*q**p; // a = 6 b = 3 c = 4; p -> a ; q -> b
|
||||
p=&a; // a = 6 b = 3 c = 4; p -> a ; q -> b
|
||||
*q=*p/(*q); // a = 6 b = 2 c = 4; p -> a ; q -> b
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
3
APL1.1/TP13/mort-vivant.rep
Normal file
3
APL1.1/TP13/mort-vivant.rep
Normal file
@ -0,0 +1,3 @@
|
||||
En fonction du temps auquel vous exécutez le programme, le programme va afficher la valeur de x ou de y, dans le deux cas, la valeur affichée est stockée soit dans x soit dans y et non pas dans p !!
|
||||
|
||||
p contient seulement *l'adresse* de x ou y et la dernière instruction *pointe* vers cette addresse et donc affiche sa valeur.
|
Loading…
Reference in New Issue
Block a user