Tuesday, August 16, 2011

Difference between array and pointer in C/C++

The difference between pointer and array in C/C++ is tabulated below. 

Pointer Array
1. A pointer is a place in memory that keeps the address of another place inside
1. An array is a single, pre-allocated chunk of contiguous elements (all of the same type), fixed in size and location.
2. Pointer can’t be initialized at definition.

2. Array can be initialized at definition. Example
int num[] = { 2, 4, 5}
3. Pointer is dynamic in nature. The memory allocation can be resized or freed later.
3. They are static in nature. Once the memory is allocated, it cannot be resized or freed dynamically.
4. The assembly code of Pointer is different than Array
4. The assembly code of Array is different than Pointer.


  1. an array is defined as ____ rather then a normal pointer ?

    1. An array is defined as constant pointer whose address cant be changed.

  2. Its good to know about the difference between two, such an informative article.

  3. Pointers can be initialized at the definition right?
    int n = 10;
    int *ptr = &n;

    1. you cannot initialize a pointer with a constant value at the time of declaration.
      Ex: int *ptr = 10; is NOT POSSIBLE