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-30 12:07

>>110
At least with glibc and a dynamically linked file, the next arg after envp is dynamic linker information.
/* contents of 'ld' array from int main(int argc, char **argv, char **envp, char **ld) */
ld[0] = "ELF"
ld[1] = "/lib/libc.so.6"
ld[2] = ""
ld[3] = ""
ld[4] = ""
ld[5] = ""

If the program was statically linked, this ld parameter will be NULL.

(Of course, this is treading well into implementation-defined territory, so YMMV.)

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