C Programming - Complicated Declarations - Discussion

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

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

Jayshree said:   10 years ago
I am confused about output can you explain anyone again!

Jaswanth said:   1 decade ago
Any pointer holds 4 bytes of memory in gcc compiler.

Vishwanath said:   3 years ago
Hello, Anyone, please explain the problem solution.
(1)

Nagarjuna said:   1 decade ago
Size of the pointer will take the size is 4 bytes.

Thamil said:   1 decade ago
Need proper clarification regarding this problem.

SRIJAN said:   1 decade ago
Whats the size of near, huge and far pointer ?
(1)

Parth barde said:   7 years ago
Thank you all for explaining the solution.

Vikas said:   1 decade ago
Thanks sowmy its really a good reference.

Mikkawy said:   5 years ago
@Naseeb.

GCC (Gnu Compiler Collection).

Khattu said:   1 decade ago
near, far, huge these are deprecated.


Post your comments here:

Your comments will be displayed after verification.