Even though NULL is the holy cow of C programmers, treated very specially by C compilers, technically nothing stops you from doing this.
~ sudo sysctl vm.mmap_min_addr=0
vm.mmap_min_addr = 0
~ cat null.c 
#include 
#include 
#include 
int main(void) {
    char *addr = mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_FIXED|MAP_ANONYMOUS, -1, 0);
    if (addr == MAP_FAILED) {
        perror("mmap");
        return 1;
    }
    printf("We have successfully mapped %p\n", addr);
    strcpy(addr, "ON NOES YOU HAVE WORMS IN YOUR NULL");
    printf("%s\n", NULL);
}
~ gcc null.c -o null
~ ./null
We have successfully mapped (nil)
ON NOES YOU HAVE WORMS IN YOUR NULL
WHERE IS YOUR GOD NOW?
 
Librem Social is an opt-in public network. Messages are shared under Creative Commons BY-SA 4.0 license terms. Policy.
Stay safe. Please abide by our code of conduct.
(Source code)