Can U write a C-program to print the size of a data type
without using the sizeof() operator? Explain how it works
inside ?
Answers were Sorted based on User's Feedback
Answer / rajesh
#include<stdio.h>
int main()
{
int p;
printf("%d\n",(char*)(&p+1)-(char*)(&p));
return 0;
}
Is This Answer Correct ? | 8 Yes | 3 No |
Answer / sanjay bhosale
// SizeOperator.cpp : main project file.
// Program : To implement sizeof operator
#include "stdafx.h"
#include<stdio.h>
#define sizeof_op1(val) ((char *)(&(val) + 1) - (char *)&(val))// for variable
#define sizeof_op2(type) ((type *)0) + 1//((type *) (10) + 1) - (type *) (10) // for type
using namespace System;
int main(array<System::String ^> ^args)
{
int i=0;
char ch = 'a';
float f = 1.00f;
printf("\nSize of int : %d %d",sizeof_op2(int),sizeof(int));
printf("\nSize of char : %d %d",sizeof_op2(char),sizeof(char));
printf("\nSize of float : %d %d",sizeof_op2(float),sizeof(float));
printf("\nSize of long : %d %d",sizeof_op2(long),sizeof(long));
printf("\nSize of short : %d %d",sizeof_op2(short),sizeof(short));
printf("\nSize of double : %d %d",sizeof_op2(double),sizeof(double));
printf("\nSize of long double : %d %d",sizeof_op2(long double),sizeof(long double));
printf("\nsize of int variable :%d %d",sizeof_op1(i),sizeof(i));
printf("\nsize of char variable :%d %d",sizeof_op1(ch),sizeof(ch));
printf("\nsize of float variable :%d %d",sizeof_op1(f),sizeof(f));
//Console::WriteLine(L"Hello World");
getchar();
return 0;
}
Is This Answer Correct ? | 0 Yes | 0 No |
Answer / saikat
#include <stdio.h>
int main()
{
float a[2];
int size = (char*)&a[1] - (char*)&a[0];
printf("%d
",size);
return 0;
}
Is This Answer Correct ? | 0 Yes | 0 No |
how can make variable not in registers
What is use of bit field?
When c language was developed?
What is an arrays?
write an algorithm and a program to count the number of elements in a circularly singly linked list
Difference between Class and Struct.
13 Answers Ericsson, Motorola, Wipro,
What are the functions to open and close file in c language?
int *p=20; if u print like dis printf("%d",p); o\p:- 20; how is it possible? plz give me the explanation.
What is the role of this pointer?
what will happen if you free a pointer twice after allocating memory dynamically ?
What does the c in ctime mean?
compare array with pointer?