#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LENGTH 100
typedef struct {
char str[MAX_LENGTH];
} String;
typedef struct {
String *strings;
int size;
int capacity;
} StringList;
void initStringList(StringList *list) {
list->strings = (String )malloc(sizeof(String) 10);
list->size = 0;
list->capacity = 10;
}
void resizeList(StringList *list) {
list->capacity *= 2;
list->strings = (String )realloc(list->strings, sizeof(String) list->capacity);
}
void addString(StringList list, const char newStr) {
if (list->size >= list->capacity) {
resizeList(list);
}
strcpy(list->strings[list->size].str, newStr);
list->size++;
}
int main() {
StringList myList;
initStringList(&myList);
addString(&myList, "Hello");
addString(&myList, "World");
for (int i = 0; i < myList.size; i++) {
printf("%s ", myList.strings[i].str);
}
free(myList.strings);
return 0;
}