#include  <stdio.h>
#include  <string.h>
#include  <stdlib.h>
struct bank
{
    char *name [3]; 
    char *ha[3];
    int bal[3];
};
typedef   struct bank   bank;
int main()
{
    bank *SBI; 
    SBI=(bank*) malloc(sizeof(bank));
    strcpy(SBI->ha[0], "1234"); 
    printf("SUCCESS");
    return 0;
}
Why is the above code generating a memory write error? When I run the code it generates some error relating to memory. I am beginner in C programming. Can anyone help me about what is wrong in the code that is causing the error.

 
     
     
    