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.

Recommended Answers

All 5 Replies

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.

You have modified an unknown value in the memory, this is dangerous

>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++.

thank u all just curious

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.