You can only reallocate an array that was allocated dynamically. If it was allocated statically, it cannot be reallocated [safely].*
Pointers hold addresses of data in memory. They can be allocated, deallocated, and reallocated dynamically using the new/delete operators in C++ and malloc/free in C.
I would strongly suggest that you read The C Programming Language by Kernighan and Ritchie and a solid C++ text like C++ From the Ground Up by Herbert Schildt.
Using dynamic memory, pointers, offsets, etc are all fundamental to using these two languages. Not knowing how they work, and why they exist will be a likely reason for potential employers to turn you down.
*the compiler shouldn't let you reallocate anything that's been allocated statically, but if it does, the behavior is undefined