main()
{
int ptr[] = {1,2,23,6,5,6};
printf("%d",&ptr[3]-&ptr[0]);
}
Answers were Sorted based on User's Feedback
Answer / sandeep
3
because aray pointer arthematic considers positions(index) of aray
| Is This Answer Correct ? | 46 Yes | 10 No |
Answer / shivam jindal
That should print a 3. It's really the same as
printf("%d", 3-0);
...since:
ptr[3] is the 4th element in the ptr[] array.
&ptr[3] is a pointer to the 4th element in the ptr[] array.
&ptr[0] is similarly a pointer to the first element in ptr[].
&ptr[3] - &ptr[0] is a subtraction of two pointers. That's only defined (in standard C/C++) for pointers to elements in the same array, like in this case, and it's defined as the difference between the index values. That's where the 3-0 comes from.
The result of a pointer difference is an int. &ptr[0] - &ptr[3] results in 0-3 which is -3.
| Is This Answer Correct ? | 5 Yes | 3 No |
Answer / dipak
In int at least 2 bytes are used for size and we know that &ptr[] gives the address of ptr .
&ptr[3]-&ptr[0]
Size of &ptr[3] is 3*2=6 times greater than Size of &ptr[0] is 1*2=2
ptr[0] also have any value that's why I consider it 1
So 6-2=4
| Is This Answer Correct ? | 4 Yes | 3 No |
Answer / mitesh mahera
I need a answer aboutthis question..if any can ?!
| Is This Answer Correct ? | 4 Yes | 6 No |
Answer / baba
Ans: 12
The expression in printf evaluates the difference of the memory addresses of ptr[3] and ptr[0]
| Is This Answer Correct ? | 5 Yes | 10 No |
How can I copy just a portion of a string?
write a program that types this pattern: 12345678987654321 12345678 87654321 1234567 7654321 123456 654321 12345 54321 1234 4321 123 321 12 21 1 1
Explain what are linked list?
how to find the largest element of array without using relational operater?
What is the best way of making my program efficient?
What does the c preprocessor do?
let's take a code struct FAQ { int a; char b; float c; double d; int a[10]; }*temp; now explain me how the memory will be allocated for the structure FAQ and what address will be in the structure pointer (temp)....................
what are the files which are automatically opened when a c file is executed?
what is the difference between : func (int list[], ...) or func (int *list , ....) - what is the difference if list is an array and if also if list is a pointer
What is the difference between array and linked list in c?
c programming of binary addition of two binary numbers
write a program to swap two numbers without using temporary variable?