Introduction to Pointers
Explore the fundamentals of pointers, including how they reference memory cells and registers in Linux debugging. Understand pointer arithmetic and indirect addressing to enhance your skills in debugging C/C++ programs at the assembly level on x64 architecture.
We'll cover the following...
A definition
The concept of a pointer is one of the most important to understand thoroughly if you want to master Linux debugging. By definition, a pointer is a memory cell or a processor register that contains the address of another memory cell, as shown in the image below. It has its own address as any memory cell. Sometimes, a pointer is called an indirect address (vs. a direct address, the address of a memory cell).
Iteratively, we can add another level of indirection and introduce a pointer to a pointer as a memory cell or a processor register. This second pointer ...