sizeof doesnt give the length of what you actually have, its gives the size of how big the variable has been declared to be . . .
sizeof will return the number of bytes reserved for a variable or data type.
The following code shows sizeof returning the length of a data type.
/* How big is an int? expect an answer of 4. */
main()
{
printf("%d \n", sizeof(int));
}
sizeof will also return the number of bytes reserved for a structure.
/* Will print 8 on most machines. */
main()
{
struct
{
int a;
int b;
} TwoInts;
printf("%d \n", sizeof(TwoInts));
}
Finally, sizeof will return the length of a variable.
main()
{
char String[20];
printf ("%d \n", sizeof String);
printf ("%d \n", sizeof (String));
}
In the example above I have printed the size of 'String' twice. This is to show that when dealing with variables, the brackets are optional. I recommend that you always place the brackets around the sizeof argument.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment