OK I'm a beginner at C++ so don't mock me for this question, so when I declare a pointer ptr (int *ptr; ) and then define ptr as 5 by saying *ptr=5; what adress is ptr pointing at-a temporary variable? Thank you-just curious.

Quick pointer answer: you DON'T DEFINE ptr pointer variable but use it.

int *ptr; // Now ptr has a garbage value (points to nowhere)
int var;
ptr = &var; // Now ptr points to var.
*ptr = 5; // Now var has value 5.

>I declare a pointer ptr (int *ptr; ) and then define ptr
>as 5 by saying *ptr=5; what adress is ptr pointing at
The precise answer depends on where you've declared the pointer, but the short answer is "nowhere you can dereference". Therefore your code exhibits undefined behavior. A pointer must be assigned to an address that you own before it can be dereferenced.

>a temporary variable?
If you want temporary magic that does what you wanted and not what you said, I recommend a much higher level language than C++.

This question has already been answered. Start a new discussion instead.