How can I check if recursive children of the struct defined in my code are NULL (or empty, not used)? (I want to know if they are NULL so that I can fill them with data).
#include <stdio.h>
#include <stdlib.h>
#define HEIGHT 256
#define LENGTH 256
typedef struct FS FS;
typedef struct Elem Elem;
struct Elem {
char name[256];
char content[256];
Elem *child[1024];
};
struct FS {
Elem *child[1024];
};
void create(FS *fs, char path[HEIGHT][LENGTH]){
while(i<1024){
if(fs->child[i] == NULL){ //check if child[i] is NULL, if so I can fill it with data
Elem *e;
e = malloc(sizeof (Elem));
fs->child[i] = e;
strcpy(e->name, path[0]);
i = 1024;
}
i++;
}
}
int main(void) {
FS *fs;
char path[HEIGHT][LENGTH];
create(fs, path);
return 0;
}
At this line fs->child[i] == NULL
and this line fs->child[i] = e
it returns Segmentation fault: 11
during Runtime. What am I doing wrong?