what is difference between array,strutter,union and pointers
Answers were Sorted based on User's Feedback
Answer / shashidhar
array can contain single data type
Structure is collection of different data types
Unions can also contain different data types, but here the
different date types share the same memory within the
computers memory
ex:
==========================
|| ||
==========================
in the above the memory between || || is shared by int,
float, double declarations in a UNION.
where as in struture || || || the memory
declared for int and float and double are different.
which implies memory utilization is better in union.
When you come to pointers, well it can point to a data type
(like int) can point to a structure (struct xyz{ };) , it
can point to a union (union item { }; ) so its like a honey
BEE it can sit on anything
| Is This Answer Correct ? | 54 Yes | 9 No |
Answer / ravi
structure is collection of different data types.
union is same as the structures, the only difference is in
memory allocation.
struct
{
int a;
float b;
};
struct s;
s.a=10;
s.b=3.0;
printf("%d%f",s.a,s.b);
For the above structure it allocates 2bytes for integer
variable and 4 bytes for flaot variable. so totally it
allocates 6bytes of memory to that structure. we can print
the s.a and s.b values as 10 and 3.0
#include<stdio.h>
union
{
int a;
char ch;
}u;
u.a=100;
u.ch='a';
printf("%d\n%d",u.a,u.ch);
But incase of union, the memory allocated is maximum
memory required among the variables. so only 4 bytes is
allocated to unions.
if u try to print the u.a, u.ch values it prints 97, 97
where the value of u.a is being assigned by u.ch . so we
cannt get value of u.a at last. It wont happen incase of
structures. so mostly we use structures in programming.
| Is This Answer Correct ? | 31 Yes | 6 No |
What does the error 'Null Pointer Assignment' mean and what causes this error?
What does c mean in basketball?
Describe for loop and write a c program to sum the series X + x2/2! + x3 /3! + …….. up to fifteen terms.
How do I declare an array of N pointers to functions returning pointers to functions returning pointers to characters?
Prove or disprove P!=NP.
write a program to display reverse of a number using for loop?
i want to have a program to read a string and print the frequency of each character and it should work in turbo c
How to declare a variable?
#include<stdio.h> int main() { int a[3][3][2]= {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18}; printf("%d\n",*(*(*a+1)); return 0; } What will be the output of the above question? And how?
How will you find a duplicate number in a array without negating the nos ?
When I set a float variable to, say, 3.1, why is printf printing it as 3.0999999?
how many keywords do C compile?
7 Answers Microsoft, Practical Viva Questions,