Skip to content

TD1

Exercice 1:

1.

valeur type
&a 45245 int *
&b 45244 char *
&c 45241 short int *
a 4 int
b 2 char
c 1 short int
&a+1 45249 int *
&c+2 45245 short int *
&z-&c \(\frac{(45249 - 45241)}{sizeof(short \;int)} = \frac{8}{2} =4\) entier
sizeof(c) 2 entier
sizeof(short int) 2 entier

2.

printf("%p\n",&a); //0xb0b8 + 5 = 0xb0bd
printf("%d\n",b); //2
printf("%p\n",&c); // 0xb0b9

Exercice 6:

int main(void){
    int a = 0;
    int T[10];
    int b = 0;
    T[10] = 1; // *T+10 = 1
    printf("%d",b); //affiche potentiellement 1
    return 0;
}
Solution pour vérifier une potentielle fuite de mémoire :

gcc -sanitize = address -g