+ 1
I don't know how does this code work? Please help me understand the behaviour of this code in C
I don't know how it works correctly...... Without error..... Please focus on my comment on that code too.... https://code.sololearn.com/cwJ91wT1iP2k/?ref=app
7 Answers
+ 3
a is a 2 dimentional array, so it needs 2 coordinates to give a value.
a[0][0] is the first value
a[0] is the address of the first sub-array
a[0] would hold a value if 'a' was a one dimentional array
+ 3
a[0] means a + 0*7 so it is indeed an address.
It doesn't store a value, becouse it is a 2d array
+ 3
Based on the comments in your code, you seem to have the misunderstanding that
a[ 0 ] = *( a + 1 )
which is wrong, the index itself is the amount of offset to 'a', you don't add one to it, thus
a[ 0 ] = *( a + 0 )
a[ 1 ] = *( a + 1 )
...
If an array decays to a pointer, it points to the first element of the array. Therefore, a[ 0 ] is a viable address here.
+ 1
To add to the other answers this is the part if the course that explains pointer arithmetic for arrays
https://www.sololearn.com/learn/C/2962/
0
Shadow sorry it's my mistake,while creating comments in code....đ
Now,I rectify that...
but
how does array decays to pointer...?
in which condition it will happen like this?
please help me to understand....
0
đ thanks a lot Angelo Landi now I understood that.....
but,can you tell,how did you know that a[0] is considered as a address of first sub array..
where did you learn these at all?
please tell me
0
Angelo,Shadow Benjamin JĂŒrgens please also see this thread...
Help me to understand the doubt
https://www.sololearn.com/Discuss/2603934/?ref=app