Home / C Programming / Structures, Unions, Enums :: Discussion

Discussion :: Structures, Unions, Enums

  1. Will the following code work?

     #include
     #include 
    
     struct emp 
     {   
        int len;  
        char name[1];
     };
     int main() 
     {   
        char newname[] = "Rahul";      
        struct emp *p = (struct emp *) malloc(sizeof(struct emp) -1 +                     strlen(newname)+1); 
        p->len = strlen(newname);       
        strcpy(p -> name, newname);     
        printf("%d %s\n", p->len, p->name);  
        return 0; 
    } 
    

  2. A.

    Yes

    B.

    No

    View Answer

    Workspace

    Answer : Option A

    Explanation :

    The program allocates space for the structure with the size adjusted so that the name field can hold the requested name.


Be The First To Comment