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 |
Are enumerations really portable?
What is 2 d array in c?
Explain what are global variables and explain how do you declare them?
what is difference between ++(*p) and (*p)++
17 Answers Accenture, HCL, IBM,
how can i get the string which is having two spaces at the end.suppose the string is "Hello World ".Now at the end i have two spaces.i need to print with that spaces .
What is the size of empty structure in c?
Can we assign string to char pointer?
Write a program to print numbers from 1 to 100 without using loop in c?
Explain the use of fflush() function?
What is the general form of function in c?
regarding pointers concept
What is string constants?