Home » C Programming » Structures, Unions, Enums

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; }

Correct Answer: Yes

Explanation:

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

← Previous Question Next Question→

More Questions from Structures, Unions, Enums

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion