Skip to content
Related Articles
Get the best out of our app
GFG App
Open App
geeksforgeeks
Browser
Continue

Related Articles

Pointer vs Array in C

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

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

1. the sizeof operator

  • sizeof(array) returns the amount of memory used by all elements in the array 
  • sizeof(pointer) only returns the amount of memory used by the pointer variable itself 

2. the & operator 

  • array is an alias for &array[0] and returns the address of the first element in the array 
  • &pointer returns the address of the pointer 

3. a string literal initialization of a character array 

  • char array[] = “abc” sets the first four elements in array to ‘a’, ‘b’, ‘c’, and ‘\0’ 
  • char *pointer = “abc” sets the pointer to the address of the “abc” string (which may be stored in read-only memory and thus unchangeable) 

4. Pointer variable can be assigned a value whereas an 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 the pointer variable stores the address of another variable.

Please refer Difference between pointer and array for more details.

My Personal Notes arrow_drop_up
Last Updated : 18 May, 2023
Like Article
Save Article
Similar Reads