Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

although it's messed up anyway as

But that's because they wanted it to be like that.

To me, this code is very unclear:

    int a, *b, c, d;
because everywhere else, multiple declarations in one statement all have the exact same type, but for some reason pointers get special treatment so that you can declare variables of type X and variables that are pointers to type X in the same statement, which just seems odd to me.

I'd be much happier if they were all strictly different and that

   int* a, b, c, d;
did, in fact, declare all four variables to be pointer to int.


> [...] everywhere else, multiple declarations in one statement all have the exact same type, but for some reason pointers get special treatment so that you can declare variables of type X and variables that are pointers to type X in the same statement, which just seems odd to me.

It's not just pointers:

  int a, *b, c();


Jesus and you guys say JavaScript is bad...


oh, don't worry, we also say that C is bad. C++ also gets an honourable mention.


I've occasionally written code like:

    char buffer[16], *ptr = &buffer[0]; // declare an array and a pointer into it


I'd say it's better style anyway to only ever declare multiple primitive types in the same statement.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: