Por que um programa que acessa o ponteiro ilegal para o ponteiro não falha?
Um programa que acessa o ponteiro ilegal para o ponteiro não falha com o SIGSEGV. Isso não é bom, mas estou imaginando como isso poderia ser e como o processo sobreviveu por muitos dias na produção. Isso é desconcertante para mim.
Eu dei este programa uma vez no Windows, Linux, OpenVMS e Mac OS e eles nunca se queixaram.
#include <stdio.h>
#include <string.h>
void printx(void *rec) { // I know this should have been a **
char str[1000];
memcpy(str, rec, 1000);
printf("%*.s\n", 1000, str);
printf("Whoa..!! I have not crashed yet :-P");
}
int main(int argc, char **argv) {
void *x = 0; // you could also say void *x = (void *)10;
printx(&x);
}