title: C: Function pointer inside a typedef struct
body: <p>I am trying to create a linked list in C but trying to pack it nicely in somewhat of a C++ style class. I am having some issues however using function pointers in C.</p>
  
  <pre><code>typedef struct linkedList {
      int count;
      struct msgNode *front;
      struct msgNode *back;
      void (*addMSG)(unsigned char *, int, struct linkedList *);
  } msgList;
  
  void addMSG(unsigned char *data, int size, struct linkedList *self);
  </code></pre>
  
  <p>Ideally, I would like to have it such that you can make you list and then to add you can simply call a "method"(function) within the structure, simulating behavior you would see in C++.</p>
  
  <p>Currently I get a segmentation fault when I call addMSG, which of-course is because addMSG is not pointing to a function. However, I don't want to have to specify a function to point to every single time I want use a linked list. Is there any nice way to have function pointers without implicitly having to point to the function, or do you have to implicitly point it to the function?</p>
  
  <p>This is only the partial implementation shown here. At the end, this struct will have all the necessary functions. This is just for the sake of keeping this question short and to the point.</p>