Bonjour à tous,
voici mon code ca sera plus claire :
voila dans le dernier cas ou je fais str[0] j'ai une erreur de segmentation (ce qui est logique) mais pour les cas tableau[120] = 6 et tab[120] = 10 je n'ai pas d'erreur, alors que je suis dans une case mémoire que je ne devais pas pouvoir modifier.Code:int main(int argc, char const *argv[]) { int *tab = (int*) malloc(10*sizeof(int)); for (int i = 0; i < 10; ++i) { tab[i] = i; } tab[120] = 10; std::cout << tab[120] << std::endl; int tableau[10] = {0}; tableau[120] = 6; std::cout << tableau[120] << std::endl; char *str = NULL; str[0] = 'c'; free(tab); return 0; }
Pourquoi le mmu ne lance pas une erreur au noyau pour tuer mon processus ?
Merci d'avance pour votre aide
-----