Pointer vs Array in C

Most of the time, pointer and array accesses can be treated as acting the same, the major exceptions being: 

1) the sizeof operator

2) the & operator 

3) a string literal initialization of a character array 

4) Pointer variable can be assigned a value whereas array variable cannot be.

int a[10];
int *p; 
p=a; /*legal*/
a=p; /*illegal*/ 

5) Arithmetic on pointer variable is allowed. 

p++; /*Legal*/
a++; /*illegal*/ 

6) Array is a collection of similar data types while pointer variable stores the address of another variable.

Please refer Difference between pointer and array in C? for more details. 

References: http://icecube.wisc.edu/~dglo/c_class/array_ptr.html

Article Tags :