Expand|Select|Wrap|Line Numbers
- typedef struct listOfStrings {
- char **array;
- int size;
- } ListOfStrings;
Expand|Select|Wrap|Line Numbers
- void print_list_of_strings( const ListOfStrings *const lPtr )
- {
- int i;
- int numberOfElements = lPtr->size;
- if ( numberOfElements != 0 )
- {
- for ( i = 0 ; i < numberOfElements ; ++i )
- {
- printf( "%s\n", *( ( lPtr->array ) + i ) );
- }
- }
- else
- {
- printf( "---\n" );
- }
- }
The code for inserting at the list is:
Expand|Select|Wrap|Line Numbers
- int insert_at_end_of_list_of_strings( ListOfStrings *lPtr, const char *const str )
- {
- int lengthOfStr = strlen( str );
- int numberOfElements = lPtr->size;
- if ( ( ( *( lPtr->array + numberOfElements ) ) = ( char * )malloc( ( lengthOfStr + 1 ) *
- sizeof( char ) ) ) == NULL )
- {
- return 0;
- }
- memcpy( *( lPtr->array + numberOfElements ), str, ( lengthOfStr + 1 ) );
- ++( lPtr->size );
- printf( "%s inserted!\n", *( lPtr->array + numberOfElements ) );
- return 1;
- }