Программа, обращающаяся к нелегальному указателю на указатель, не сбой с SIGSEGV. Это нехорошо, но мне интересно, как это может быть и как процесс выжил в течение многих дней в производстве. Меня это смущает.
Я передал эту программу в Windows, Linux, OpenVMS и Mac OS, и они никогда не жаловались.
#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);
}