How does DLL injection work with games if memory addresses change every time you start the game?
===

Ok, I'm pretty much an amateur when it comes to memory hacking/memory management (whatever you want to call it) but I followed a simple tutorial on writing a DLL. I used Cheat Engine to find a certain address of a certain value, then closed the game and restarted it. I tried to find the same value but it had a different address (dynamic memory I'm assuming). 

So, ok, I was supposed to copy this address and put it into a part of the code of the DLL before injecting it (it was supposedly a while(true) loop to constantly reset the value in that address to 0), but wouldn't it be useless to use DLL injection if the address is going to change every time I start the game, or am I missing something here? How do I keep finding a value that has a dynamic address?