C Programming - Complicated Declarations - Discussion

Discussion Forum : Complicated Declarations - Find Output of Program (Q.No. 1)
1.
What will be the output of the program?
#include<stdio.h>

int main()
{
    char far *near *ptr1;
    char far *far *ptr2;
    char far *huge *ptr3;
    printf("%d, %d, %d\n", sizeof(ptr1), sizeof(ptr2), sizeof(ptr3));
    return 0;
}
4, 4, 8
4, 4, 4
2, 4, 4
2, 4, 8
Answer: Option
Explanation:
No answer description is available. Let's discuss.
Discussion:
31 comments Page 2 of 4.

Simran said:   6 years ago
Near ptr has a memory of 2bytes. Far and huge ptr have a memory of 4 bytes. Hence the output is 2, 4, 4.
(1)

Hari said:   1 decade ago
Near ptr has a memory of 2bytes. Far and huge ptr hav a memory of 4 bytes. Hence the output is 2, 4, 4.

Arun yadav said:   8 years ago
It's valid in turbo c.

For GCC there is no such concept of near and far,
For GCC it's 4 4 4.
(1)

Subash said:   1 decade ago
Will any body give me the full bytes details of these type of declarations. ?

Sathish said:   1 decade ago
Any body please give what's the difference between these three declarations.

Saurabh said:   7 years ago
Can you please tell me how to read the below line?

char far *near *ptr1;

Prasad said:   1 decade ago
Can anybody provide me link to know about these near and far pointers?

Sam said:   9 years ago
I don't understand the program statements. Please explain me once.

Shashidhar said:   1 decade ago
Can any one say me the difference between these three pointers?

Sureka said:   6 years ago
I am not getting this, please explain me.
(1)


Post your comments here:

Your comments will be displayed after verification.