virtual memory
Imagine every tenant in a huge apartment building believing they live in apartment number 1, with a private, freshly-numbered set of rooms that no neighbour can walk into. None of them know or care which physical floor their rooms are actually on; a building manager quietly keeps a private map for each tenant. Virtual memory is exactly this trick for programs: each running program is handed its own large, clean, private set of addresses, and the operating system keeps a secret map from those addresses to the real chips.
Concretely, the addresses your C program uses — the number you see from &x, the location malloc() hands back — are virtual addresses. They are not the physical locations on the RAM chips. When the program touches a virtual address, the hardware translates it on the fly into a physical address using tables the operating system set up. This gives three big wins: isolation (one program cannot name, read, or corrupt another's memory, because their address spaces are separate maps), the illusion of one big contiguous space (the program sees an orderly run of addresses even though the real RAM behind them is scattered and shared), and the ability to pretend there is more memory than the machine physically has (rarely-used pages can be parked on disk).
It is worth being honest about what virtual memory is not. It does not make the computer faster, and it is not the same as 'swap' — swap is just one thing virtual memory makes possible. The translation is not free either; it costs hardware (the MMU and TLB) and the occasional expensive page fault. But the isolation and the simple private address-space model are so valuable that essentially every general-purpose operating system today is built on virtual memory.
Run the same program twice; both copies might print the same address, like 0x55a3c1d04010, from printf("%p\n", (void*)&x). They do not clash because that 0x55a3c1d04010 is a virtual address private to each process — the OS maps the two of them to different physical RAM.
Same virtual address, different physical RAM — that is the core illusion.
Virtual memory is not 'extra memory you bought for free' and not a synonym for swap. It is an address-mapping scheme; swapping pages to disk is one use of it. Turning swap off does not turn virtual memory off.