Can we assign a value to a given memory location?

The fact that you are asking this question kind of indicates that you're in over your head. But here you go:

*(int *)0x12AED567 = 2345;

The answer depends on some factors. Is your program running on an operating system? If yes, does the OS implement memory segmentation?

If you answered yes to both questions, trying to access a memory area that is not mapped or that it doesn't have permission to write will cause a memory access violation (SIGSEGV on POSIX based systems). To accomplish that, you have to use a system specific function to map the region of memory that contains this exact address before trying to access it.

Tags:

C

Pointers

Memory