C Programming - Arrays - Discussion
Discussion Forum : Arrays - Yes / No Questions (Q.No. 4)
4.
Are the expressions arr and &arr same for an array of 10 integers?
Answer: Option
Explanation:
Both mean two different things. arr gives the address of the first int, whereas the &arr gives the address of array of ints.
Discussion:
15 comments Page 2 of 2.
Safvan AK said:
9 years ago
But both arr and &arr gives the base address. I'm still confused.
Please help to find out.
Please help to find out.
Vallam said:
9 years ago
If we print the base address is same for both. While going to next element address it's different.
Let arr = &a[0] = 1000.
Arr+1 = 1004 as per GCC compiler. If it is the int type.
While & arr+1 means &arr holds 10 elements address. But shows as base address.
So & arr+1 = 1040.
Let arr = &a[0] = 1000.
Arr+1 = 1004 as per GCC compiler. If it is the int type.
While & arr+1 means &arr holds 10 elements address. But shows as base address.
So & arr+1 = 1040.
Vaishu said:
7 years ago
Please explain me clearly to get the answer.
(1)
Ruku said:
7 years ago
@All.
arr and &arr points to the same location, they are different in type. arr has the type int *, where as &arr has the type int (*)[size]. &arr points to the entire array where as arr points to the first element of the array. This brings us to something useful - the length of the array.
arr and &arr points to the same location, they are different in type. arr has the type int *, where as &arr has the type int (*)[size]. &arr points to the entire array where as arr points to the first element of the array. This brings us to something useful - the length of the array.
Maged said:
6 years ago
Basically, if you have an array of 5 elements, if you use (arr+1) it will point to the second element in the array, but if you use (&arr+1) it will point to the sixth element which is the first element out of the array.
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers