you are viewing a single comment's thread
view the rest of the comments
[–] 4 points 10 months ago (1 child)

types in C are pretty weird

int *a can be read as

  1. *a is a int
  2. since dereferencing is a operator on pointers, a is a pointer to int

int *a, b is read as

  1. *a and b are int
  2. so a is a pointer to int and b is a int

bool getofmylawn(Lawn lawn)

  1. getoffmylawn(Lawn lawn) is a bool
  2. since calling is done on functions, getoffmylawn is a function that takes a Lawn and returns a bool

And then you have function pointers

bool (*foo(int a))(float b)

  1. (*foo(int a))(float b) is a bool
  2. *foo(int a) is a function from float to bool
  3. foo(int a) is a function pointer from float to bool
  4. foo is a function that takes a int and returns a function pointer from float to bool

really weird in my opinion.

  • source
  • parent
  • hideshow 1 child comment