...

/

Helper Functions for Genericity

Helper Functions for Genericity

Learn to abstract the concrete handling of data types in order to keep the functions generic.

Introduction

The other essential function we need to write is the printGenericList function. We can’t view the contents of the lists, and we can’t check if we are building them correctly or not without a print function.

However, as we will see in this lesson, creating a generic print function isn’t easy. It will have to call printf with the concrete type of the element. But the whole point of a generic function is that it doesn’t care about the type of elements.

Printing elements from a generic linked list

To address the above issues, we’ll use a helper function which we will pass to the generic function as an argument. The helper function will be different for each data type:

  • For a list of integers, we may write a printInteger function, which knows how to print one integer.
  • For a list of strings, we may write a printString function, which knows how to print one string (char array).

We’ll then pass printInteger and printString to printGenericList, depending on the type of list that we want to print.

Note: We don’t create multiple printGenericList functions, as we’ll have a lot of duplicate code. The functions would be identical except for the printf call. ...