Ah ouai 
Du coup ici l'exemple inverse :
#include <stdio.h>
#include <stdlib.h>
typedef struct s_boule{
int a,b,c,d,cafe;
} Boule ;
int main(void){
Boule *lesboules;
Boule a = { .cafe=66 } ;
lesboules = malloc( 3 * sizeof(Boule*));
lesboules[0] = a ;
lesboules[1] = a ;
lesboules[2] = a ;
printf("boule : %d, boule* : %d et %d", sizeof(Boule), sizeof(Boule*), sizeof(*lesboules));
printf("rayon a : %d\n", a.cafe);
printf("rayon [1] : %d", lesboules[0].cafe);
printf("rayon [2] : %d", lesboules[1].cafe);
printf("rayon [3] : %d", lesboules[2].cafe);
return 0 ;
}
les 8 octet du malloc par Boule ne suffit pas parceque la structure est plus grande, du coup
tabpointer: malloc.c:2403: sysmalloc: Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)' failed.
Abandon (core dumped)
