¿Qué sucede en el sistema operativo cuando no hacemos referencia a un puntero NULL en C?
Digamos que hay un puntero y lo inicializamos con NULL.
int* ptr = NULL;
*ptr = 10;
Ahora, el programa se estrellará desdeptr
no está apuntando a ninguna dirección y estamos asignando un valor a eso, que es un acceso no válido. Entonces, la pregunta es, ¿qué sucede internamente en el sistema operativo? ¿Ocurre una falla de página / falla de segmentación? ¿El núcleo incluso buscará en la tabla de páginas? O el accidente se produce antes de eso?
Sé que no haría tal cosa en ningún programa, pero esto es solo para saber qué sucede internamente en el sistema operativo o el compilador en ese caso. Y NO es una pregunta duplicada.