Question: Implement the interface from mystring.h using dyamically - allocated strings that will allocate exactly the correct amount of memory to store their characters. But they

Implement the interface from mystring.h using dyamically-allocated
strings that will allocate exactly the correct amount of memory to store their
characters. But they will also have an arbitrary maximum length of
MAX_STRING_LENGTH, which will be defined elsewhere.
Assume the code you write will be saved to mystring.c; write the complete
contents of that file. Implement only the data structure; do not write a main
program. Write appropriate contracts.// This is an interface for a string data type.
// A string stores an exactly-sized, immutable string.
typedef struct STRING String;
// This is the maximum length of a string.
// It is application-specific and will not be defined in mystring.c.
// Instead, it will be defined by the program that uses this interface.
extern const int MAX_STRING_LENGTH;
// Create and return a new string containing a copy of the string "init".
// Allocate exactly as many characters as needed to store it.
// Return NULL on error, such as init is longer than MAX_STRING_LENGTH.
String * new_string( char *init );
// Destroy the string, freeing all of its memory.
void destroy_string( String *the_string);
// Create and return a new string containing the concatenation (joining)
// of stringl and string 2, again allocating exactly as many characters as
// required. Return NULL on error.
String * concat ( String *string1, String *string2);
// Copy up to "max_len" chars and 10 from the string to the given char "array".
// The "max_len" includes 10, which will always be placed at the end.
// Return the number of characters copied excluding 10, or -1 on error.
int to_array( String *string, char *array, int max_len );
 Implement the interface from mystring.h using dyamically-allocated strings that will allocate

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!