Answers/Solutions to Exercises in Chapter 7, Exercise 4
E4: Implement a dynamic array of strings in the form of a dynamic array of pointers to strings. Implement it similarly to two-dimensional character array, where each string is stored in a row of different size.
S4: A sample program is below.
#include <stdlib.h> #include <string.h> // function main ------------------------------------------ int main() { int i; char **array; array = (char **) malloc(sizeof(int*)*4); // 4 strings array[0]=(char*) malloc(strlen("string1")+1); strcpy(array[0],"string1"); array[1]=(char*) malloc(strlen("this string2")+1); strcpy(array[1],"this string2"); array[2]=(char*) malloc(strlen("this is string3")+1); strcpy(array[2],"this is string3"); array[3]=(char*) malloc(strlen("this is string4 - the last one")+1); strcpy(array[3],"this is string4 - the last one"); for(i=0; i<4; i++) printf("array[%d]=%s\n",i,array[i]); return 0; }// end main
The run of the sample solution program:
array[0]=string1 array[1]=this string2 array[2]=this is string3 array[3]=this is string4 - the last one
Back to Answers/Solutions Index Back to Answers/Solutions for Chapter 7 Index