Have you checked the returns of fopen and calloc? You might be running into an issue with the file you are trying to read not being accessible (either not found or insufficient permissions) or your calloc could be failing to allocate memory.
You need to check the returned pointers to see if they are NULL like so:
FILE *fp = fopen("User/Admin/dataset.bin", "rb");
if(fp == NULL){
perror("Failed to open file:\n");
return; // or however you want to handle this
}
double *data = calloc(30 * 4, sizeof(double));
if(data == NULL){
perror("Failed to allocate space for data pointer:\n");
fclose(fp);
return; // or however you want to handle this
}
fread(data, sizeof(double), 30 * 4, fp);
More than likely, the issue here is either insufficient privileges to open User/Admin/dataset.bin or the file path is incorrect.