title: A value type " String*" cannot be assigned to an entity type "Course "
body: <p>I have been stuck with this error and cant find any solution to my problem. I have a function (code below) that insert_bts_node.</p>
  <pre><code>enter code hereBSTNodePtr insert_bst_node(BSTNodePtr self, String *item) {
  
  /* check if found location, then insert */
  if (self == NULL) {
      self = malloc(sizeof * self);
      self-&gt;course = item;
      //item = strcpy(self-&gt;course, item);
      self-&gt;left = self-&gt;right = NULL;
      create_list(self-&gt;course);
      //self-&gt;course = create_list();
  
  }
  
  /**
  * else if (item &lt; self-&gt;course) {
      self-&gt;left = insert_bst_node(self-&gt;left, item);
  
  }
  */
  else if (strcmp(item,self-&gt;course)&lt;0){
      self-&gt;left = insert_bst_node(self-&gt;left, item);
  
  }
  else if (strcmp(item,self-&gt;course) &gt;0){
      self-&gt;right = insert_bst_node(self-&gt;right, item);
  }
  
  return self;
  </code></pre>
  <p>}</p>
  <p>The error pops up on <strong>self-&gt;course = item</strong>.
  Definitions that i am using are down below.</p>
  <pre><code>typedef char* String;
  
  typedef struct Course {
      String name;
      StudentList students;
  } Course;
  
  typedef struct bstNode {
      Course course;
      struct bstNode* left;
      struct bstNode* right;
  } *BSTNodePtr;
  </code></pre>