Every variable lives somewhere in memory. Each location has a unique address, like a street address. When you write int x = 5, the value 5 gets stored at a specific location. Addresses are numbers, typically hexadecimal like 0x7ffc4a8b2c.
You normally don't see them because you use variable names. The compiler tracks which name corresponds to which address. I'll show you how to work with addresses directly. This understanding forms the foundation for pointers.