When you create a variable in C, it is created in stack. You do not need to allocate or free the memory for a variable specifically. Though when you work with large struct data types, this approach might not be efficient. You can allocate memory and free it dynamically.
In C, a string is nothing but an array of characters that ends with ” 0″. A string is the most widely used type in programming. So C standard library provides many useful functions to handle strings.