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 |
what is a NULL pointer?
main() { int i=0; while(+(+i--)!=0) i-=i++; printf("%d",i); }
no consistent academics. how to answer the question
Is array a primitive data type in c?
what is the use of #pragma pack, wer it is used?
Program to find larger of the two numbers without using if-else,while,for,switch
Using functions, write a program that multiplies two arrays. Use the following functions: - Function ReadArray - Function MultiplyArrays - Function DisplayArrays
Write a function to find the area of a triangle whose length of three sides is given
What is the Difference between Macro and ordinary definition?
3 Answers Bosch, Cognizant, College School Exams Tests, Motorola,
Convert the following expression to postfix and prefix X $ Y Z - M + N + P / Q / (R + S)
what information does the header files contain?
6 Answers BSNL, Cisco, GDA Technologies,
What is an volatile variable?