how to find the size of the data type like int,float
without using the sizeof operator?
Answers were Sorted based on User's Feedback
Answer / vishnu948923
void main()
{
char *ptr1,*ptr2;
float fl;
ptr1 = &fl;
ptr2 = (&fl+1);
printf("%u",ptr2-ptr1);
}
| Is This Answer Correct ? | 29 Yes | 15 No |
Answer / rajesh gooda
ptr manipulation will return 1.
printf("size of int is %d",(int)((int*)0 + 1))
| Is This Answer Correct ? | 10 Yes | 0 No |
Answer / sunil
When the parameter is a datatype.
For Eg: sizeof(int), sizeof(double)
#define GetSize(x) (char*)((x*)10 + 1) - (char*)10
When the parameter is a variable.
For Eg: int a;
float b;
sizeof(a), sizeof(b)
#define GetSize(x) (char*)(&x + 1) - (char*)&x
| Is This Answer Correct ? | 10 Yes | 4 No |
Answer / test
#include<stdio.h>
main()
{
int kh[2]={10,20};
int * ptr_kh=kh;
printf("%d",((char* )(ptr_kh+1)-(char*)ptr_kh));
}
| Is This Answer Correct ? | 4 Yes | 2 No |
Answer / abdur rab
#include <stdio.h>
struct node {
int x;
int y;
};
unsigned int find_size ( void* p1, void* p2 )
{
return ( p2 - p1 );
}
int main ( int argc, char* argv [] )
{
struct node data_node;
int x = 0;
printf ( "\n The size :%d",
find_size ( (void*) &data_node,
(void*) ( &data_node +
1 ) ) );
printf ( "\n The size :%d", find_size ( (void*) &x,
(void*) ( &x + 1 ) ) );
}
It will work for any data type
| Is This Answer Correct ? | 3 Yes | 2 No |
Answer / amit ranjan
int main()
{
int a[2];
int one = a;
int two = a+1;
int test = two-one;
printf("%d\n", test);
return 0;
}
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / amit prakash
main()
{
int a;
int *aa,*bb;
int size;
aa = &a;
bb=aa;
bb++;
size=bb-aa;
printf("\nsize_of_int:%u",size) ; // actual size but
depends upon compiler
}
| Is This Answer Correct ? | 0 Yes | 1 No |
Answer / gururaj
Vishnu,
How can char * hold address of float????
| Is This Answer Correct ? | 3 Yes | 7 No |
Would you rather wait for the results of a quicksort, a linear search, or a bubble sort on a 200000 element array? 1) Quicksort 2) Linear Search 3) Bubble Sort
Describe for loop and write a c program to sum the series X + x2/2! + x3 /3! + …….. up to fifteen terms.
What is define directive?
program for following output using for loop? 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5
Can you write the algorithm for Queue?
0 Answers College School Exams Tests, TCS,
why 'c' is called middle level language.
What is an example of enumeration?
Explain what are binary trees?
Explain 'bus error'?
what will be the output of this program........ main() { int a=2,b=4,c=6; printf("%d"); } why it gives the value of third variable.
write a program to find a given no. is divisible by 3 or not without using any arthimetic operators?
difference between loading and linking