A pointer concept is a vital part of the C language and provides a mechanism to access the memory content dynamically. It helps in accessing the variable's value through its address. This chapter explains different pointer concepts like void pointer, NULL pointer, double-pointer, constant pointer, and pointer to constants. When associated with functions, pointers solve the problem of returning multiple values from a function through the pass-by-reference concept. This chapter also describes the procedure to pass an array and a string to a function. Some advanced concepts like arrays of pointers and pointers to functions are also explained with appropriate programming examples. Pointer arithmetic is also an essential topic to include in this chapter because we cannot apply all arithmetic operations to pointers.