char **res = (char **)malloc(sizeof(char *) * 1) at this line i have used {sizeof(char *) * 1} but i have placed more than one string with different length. I dont get how is this working, or is it just my compiler not showing error/warning or is this correct.
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main() {
    char **res = (char **)malloc(sizeof(char *) * 1);
    res[0] = "mang0000000o";
    res[1] = "tango00000";
    res[2] = "lango";
    res[3] = "django";
    for (int x = 0; x < 4; x++) {
        puts(res[x]);
        putchar('\n');
    }
    return 0;
}
 
     
    