title: Pointer error when changing using pointer dot to change struct field
body: <p>I'm trying to change the fields inside of a struct, I'm using the <code>-&gt;</code> to do so, but my compiler gives me an error that suggests for me to use the <code>-&gt;</code>.  I'm not exactly sure why.  Have I instantiated an instance of my struct incorrectly perhaps?</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #include &lt;stdlib.h&gt;
  #include &lt;time.h&gt;
  
  typedef enum suit_s {DIAMONDS, CLUBS, HEARTS, SPADES} Suit;
  enum suit_s nCard;
  
  int rankR;
  int suit1;
  
  typedef struct card_s {
    int rank;
    Suit suit;
  } *Card;
  
  int randCard(Card* rCard);
  int getSuitName(Card* rCard);
  
  int main(int argc, char *argv[]){
    Card *rCard;
    srand( (unsigned)time( NULL ) );
    randCard(rCard);
    getSuitName(rCard) ;
    return 0;
  }
  
  
  int randCard(Card* rCard) {
    int max_number = 10;
    int minimum_number = 2;
    rankR =  rand() % (max_number + 1 - minimum_number) + minimum_number;
    suit1 =  rand() % (4 + 1 - 1) + 1;
    if (suit1 == 1){
      nCard = DIAMONDS;
    }else if (suit1 == 2){
      nCard = CLUBS;
    }else if (suit1 == 3){
      nCard = HEARTS;
    }else if (suit1 == 4){
      nCard == SPADES;
    }
    rCard-&gt;rank = rankR; // error here
    rCard-&gt;suit = nCard; // error here
  
  }
  </code></pre>
  
  <p>Compiler log:</p>
  
  <pre><code>main.c: In function 'randCard':
  main.c:42:8: error: '*rCard' is a pointer; did you mean to use '-&gt;'?
     rCard-&gt;rank = rankR;
          ^~
          -&gt;
  main.c:43:8: error: '*rCard' is a pointer; did you mean to use '-&gt;'?
     rCard-&gt;suit = nCard;
          ^~
          -&gt;
  </code></pre>