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

Why is C not consistent

Name: Anonymous 2012-05-10 1:43

Take the following two declarations "int arr[3]" and "int *ptr".

Both require different storage, but in usage both are identical. This behaviour  is known, and it is not the consistency I am talking about.

Take the following two declarations:

void funcarr(int a, int arr[3], int c)
{ printf("%d\n", &c-&a); }

void funcptr(int a, int *ptr, int c)
{ printf("%d\n", &c-&a); }

For funcarr, all three arguments are intended to be call by value. So I would expect the stack to contain
a,arr[0],arr[1],arr[2],c
but it does not. The stack contains
a,&arr[0],c

This is *NOT* consistent, and gives a false impression that the elements of arr[] will not change within the lifetime of the function.

Who failed, so I knows whose ass to kick.

Name: Anonymous 2012-05-13 1:14

>>35
I just want to rage a bit more about how goddamn fucking stupid your post is. The sentence you cut in half in your quote literally continues "you're passing the value of the array pointer itself".

Your comment is bad and you should feel bad. You are absolute filth, the poison that permeates any decent discussion in programming. You look at an entire comment and pull one sentence fragment out of context, making some trivial pedantic correction to try to appear superior, resulting in zero meaningful contribution to the discussion at hand. Fuck you. Get out.

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