Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...


struct ptr
{
int a;
char b;
int *p;
}abc;
what is d sizeof structure without using "sizeof" operator??

Answers were Sorted based on User's Feedback



struct ptr { int a; char b; int *p; }abc; what is d sizeof structure without using "sizeo..

Answer / vadivel t

Hi All,
The size of any data type is depends on the compiler
(including struct, union and enum). But the question does
not mean, "what is the size of the given structure".

It actually means,
Find the size of the structure without using sizeof()
operator.

The Answer, irrespective of compiler would be,

Output of the following code.

-First printf gives the size of the structure, wthout using
size of operator.

-U can cross check the ans using sizeof() operator in the
second printf().

#include<stdio.h>
struct name
{
int a;
char b;
int *p;
}abc;

main()
{
struct name *ptr, *ptr1;
ptr = &abc;
ptr1 = ptr + 1;
printf("WITHOUT USING sizeof() OPERATOR: %d \n",((char *)
ptr1 - (char *)ptr));
printf("USING sizeof() OPERATOR: %d \n", sizeof(abc));
getch();
}

Is This Answer Correct ?    13 Yes 0 No

struct ptr { int a; char b; int *p; }abc; what is d sizeof structure without using "sizeo..

Answer / avinash dubey

the correct answer in gcc compiler is 12..
concept of structure padding is involved here..

Is This Answer Correct ?    11 Yes 2 No

struct ptr { int a; char b; int *p; }abc; what is d sizeof structure without using "sizeo..

Answer / vishnu948923

void main()
{
int x,y;
y=&abc.a;
x=(&abc->p+1);
printf("%d",x-y);
}

Is This Answer Correct ?    8 Yes 5 No

struct ptr { int a; char b; int *p; }abc; what is d sizeof structure without using "sizeo..

Answer / kk

12 is answer
int a takes 4 bytes
char b takes 4 bytes due to data padding
int *p any pointer takes 4 bytes
so totally 12 bytes........

Is This Answer Correct ?    4 Yes 1 No

struct ptr { int a; char b; int *p; }abc; what is d sizeof structure without using "sizeo..

Answer / gagandeep

The total size would be 5.
Since 'int a' takes 2;
'char b' takes 1; and
'int *p' takes 2 (Note: Any pointer variable would take 2 bytes)

There is no additional size of 'struct' data structure.
Hence 5 is the value.

Is This Answer Correct ?    12 Yes 10 No

struct ptr { int a; char b; int *p; }abc; what is d sizeof structure without using "sizeo..

Answer / ryan

The size of the structure is 5 bytes

Is This Answer Correct ?    5 Yes 4 No

struct ptr { int a; char b; int *p; }abc; what is d sizeof structure without using "sizeo..

Answer / pradeep

In Linux, its 12 bytes.
int a ------- 4 bytes
char b ------- 1 byte.
but as the next element is integer, it wont fit in the
remaining 3 bytes left after the "char b" occupies the first byte of the 4 byte chunk. so these 3 bytes wont be used for storing "int *p". these will be padded. next 4 bytes will be used for storing *p.

to prove it.

int size;
size = (&(abc.p) + sizeof(abc.p)) - &abc.a ;
printf("size = %d",size);

Is This Answer Correct ?    1 Yes 0 No

struct ptr { int a; char b; int *p; }abc; what is d sizeof structure without using "sizeo..

Answer / vignesh1988i

THE SIZE OF THE STRUCTURE WILL BE '5'

Is This Answer Correct ?    4 Yes 7 No

struct ptr { int a; char b; int *p; }abc; what is d sizeof structure without using "sizeo..

Answer / manoj mishra

11

Is This Answer Correct ?    5 Yes 20 No

Post New Answer

More C Interview Questions

Did c have any year 2000 problems?

0 Answers  


what is the Output? int a=4 b=3; printf("%d%d%d%d%d%d",a++,++a,a++,a++,++a,a++); printf("%d%d%d%d%d%d",b--,b--,--b,b--,--b,--b);

10 Answers   IBM,


How do I determine whether a character is numeric, alphabetic, and so on?

0 Answers  


What is the difference between %d and %*d in C

3 Answers  


What does *p++ do? What does it point to?

0 Answers  


What is volatile variable in c?

0 Answers  


to write a program, that finds the minimum total number of shelves, including the initial one, required for this loading process. The packets are named A, B, C, D, E &#133;&#133;.. Any numbers of packets with these names could be kept in the shelf, as in this example: [ZZLLAAJKRDFDDUUGGYFYYKK]. All packets are to be loaded on cars. The cars are lined in order, so that the packets could be loaded on them. The cars are also named [A, B, C, D, E,&#133;&#133;&#133;&#133;.].

2 Answers   Infosys, TCS,


What is page thrashing?

0 Answers  


program to print upper & lower triangle of a matrix

2 Answers   TCS,


What is pivot in c?

0 Answers  


How to add two numbers without using arithmetic operators?

18 Answers   College School Exams Tests, e track, Infosys, Pan Parag, Sapient, TCS,


void main() { static int i = 5; if(--i) { main(); printf("%d ",i); } } what would be output of the above program and justify your answer? }

5 Answers   C DAC, CDAC, Infosys, Wipro,


Categories