Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

int* p vs. int *p

Name: Anonymous 2009-10-29 0:18

What do you think about the difference between the following declarations? Which do you prefer?

int* p;
int *p;

It's often said the first is C++ style and the second is C style. I prefer C but conceptually the first declaration makes a lot more sense to me. You're defining a variable p of type int*. p is an int*. You dereference it, *p, when you want the int. Makes sense. The second example to me seems like gobbledygook, but it's the way the C authors thought of it, because of this bullshit:

int *p, *q;

So what the fuck is the deal? Can someone who uses "int *p" syntax explain to me what goes through your head when you write that garbage?

Name: Anonymous 2009-10-29 0:54

When one is first learning C, the initial impulse is to attempt to read type information from left to right. This tutorial should disabuse you of that notion.

http://www.antlr.org/wiki/display/CS652/How+To+Read+C+Declarations

The type information for a variable is best kept nearest to the actual token--thus int *p rather than int* p. The * modifies and describes p, not the int. For me, at least, that is the reason.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List