Understanding Memory Address in C

In C programming, every variable is stored at a specific memory address in your computer. Learn how to use the reference operator & to access the memory address of variables and understand how data is stored and managed in memory.



C Memory Address

Memory Address

When a variable is created in C, a memory address is assigned to the variable. The memory address is the location where the variable is stored on the computer.

When we assign a value to the variable, it is stored in this memory address.

To access it, use the reference operator &, and the result represents where the variable is stored:

Syntax

int myAge = 27;
printf("%p", &myAge); // Outputs 0x7ffeabcd1234
Output

0x7ffeabcd1234

Note: The memory address is in hexadecimal form (0x..). You will probably not get the same result in your program, as this depends on where the variable is stored on your computer.

Pointers

You should also note that &myAge is often called a "pointer". A pointer basically stores the memory address of a variable as its value. To print pointer values, we use the %p format specifier.

You will learn much more about pointers in the next chapter.

Why is it Useful to Know the Memory Address?

Pointers are important in C because they allow us to manipulate the data in the computer's memory. This can reduce the code and improve performance.

Pointers are one of the things that make C stand out from other programming languages, like Python and Java.