• sweng@programming.dev
    link
    fedilink
    arrow-up
    87
    arrow-down
    2
    ·
    edit-2
    9 months ago

    You would think so, but int* a, b is actually eqivalent to int* a; int b, so the asterisk actually does go with the name. Writing int* a, *b is inconsistent, so int *a, *b is the way to go.

    • newH0pe@feddit.de
      link
      fedilink
      arrow-up
      56
      arrow-down
      1
      ·
      9 months ago

      Yeah, and I’d say that’s a design flaw of the language as it is unintuitive behaviour.

    • Slotos@feddit.nl
      link
      fedilink
      arrow-up
      37
      ·
      9 months ago

      When people say “pointers are hard”, they mean “I have no idea where the star goes and now an ampersand is also implicated”.

    • blackstrat@lemmy.fwgx.uk
      link
      fedilink
      arrow-up
      23
      ·
      9 months ago

      While technically true, that’s also one of the worst ‘features’ of the language and I personally consider it a bug in the language. Use two lines and make it clear and correct.

    • Gladaed@feddit.de
      link
      fedilink
      arrow-up
      17
      arrow-down
      2
      ·
      9 months ago

      Don’t declare more than 1 pointer per line. This resolves that, badly.