On Sep 22, 2006, at 4:35 PM, Richard Scott McNew wrote:
It depends on what you mean by "character array". If you are talking
about a variable declared like so:
char myarray[32];
Then to get the address, you would do the following:
print("The address is %p\n", (&myarray));
Shouldn't that be:
print("The address is %p\n", (myarray));
The variable myarray is a pointer to the beginning of the array. That
means that:
*myarray and myarray[0] are the same.
As you noted in another email, both do work. The generalized
principle of getting the address of something works for all pointer
and non-pointer types (for example, you can take the address of a
pointer which gives you a pointer to a pointer), but it is worth
noting that character arrays that are declared as:
char myarray[32];
can be used pretty much anywhere a "char *" is expected, whereas with
some other types, that is not the case. My post should have been
more coherent and thorough by demonstrating that getting the address
of a character array can be accomplished in the same way as getting
the address of any other type, be it an int, struct, double, etc.
Grant
/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/