What is the real difference between arrays and pointers?
Answers were Sorted based on User's Feedback
Answer / guest
Arrays automatically allocate space which is fixed in size and
location; pointers are dynamic.
Is This Answer Correct ? | 202 Yes | 25 No |
Answer / santosh
array is refered directly to the elements.
but in pointers we refers to address of the elements but not
elements . indirect calling of the elements.
Is This Answer Correct ? | 155 Yes | 26 No |
Answer / pravinash
array is collection of similar datatype. it is a static
memory allocation means we can not increment and decrement
the arry size once we allocated. and we can not increment
the base address, reassign address.
pointer is a dynamic memory allocation. we can allocate the
size as we want, assigning into another variable and base
address incrementation is allowed.
Is This Answer Correct ? | 72 Yes | 9 No |
Answer / jaroosh
Arrays are simply pointers THAT CANNOT be reassigned, ie,
constant pointers to some memory locations. They do not
"magically preserve" any information about array size or
whatever that some suggest, they are just a type of constant
pointers, nothing more.
For example , the following :
int a[] = {1,23};
a++;
will throw a compiler error, something like : a is not an
Lvalue, which means that you cannot assign or change the
value of a.
Is This Answer Correct ? | 64 Yes | 14 No |
Answer / pushpanjali panda
Arrays automatically allocate space, but can't be relocated
or resized. Pointers must be explicitly assigned to point
to allocated space (perhaps using malloc), but can be
reassigned (i.e. pointed at different objects) at will, and
have many other uses besides serving as the base of blocks
of memory.
Is This Answer Correct ? | 56 Yes | 9 No |
Answer / siddhartha
Arrays allocate the memory space which cannot resized or
reassigned. But in case of pointers the memory size can be
resized
Is This Answer Correct ? | 42 Yes | 8 No |
Answer / swetha.j.n
Array is a group of elements.But pointer is not a group of
elements.
Array refer to the data in memory location.But pointer
refer to the address in memory location.
Is This Answer Correct ? | 21 Yes | 2 No |
Answer / rag
ARRAYS are allocated at compile time.
POINTERS are alocated at run time.
USE POINTERS FOR PROGRAM EFFICIENCY,BECAUSE MEMORY IS
PRECIOUS ONE. So to reduce memory use pointers.
Is This Answer Correct ? | 16 Yes | 3 No |
Answer / sankar s
array refer data in memory location , pointer refer address
to the memory location ,pointer refer the pointee
int *a;
int b[10];
a=&b;
where a is the pointer array b is pointee which point out
the starting memory location of an array.
Is This Answer Correct ? | 24 Yes | 13 No |
write a programe returns the number of times the character appears in the string
What is RAM memory? and What is ROM?Who designed one is temparary and another is permanent?why they designed like that?By using far pointer which type data(whether hexadecimal)we can access?
Explain how can you avoid including a header more than once?
void main() { int a[]={1,2,3,4,5},i; for(i=0;i<5;i++) printf("%d",a++); getch(); }
Explain setjmp()?
What are valid signatures for the Main function?
How can I rethow can I return a sequence of random numbers which dont repeat at all?
how to find that no is int or float?
What is the difference between text and binary i/o?
how can u print a message without using any library function in c
Consider the following C program. #include <stdio.h> int main() { int i; for (i=0;i<3;++i) { fork();fork(); } } How many processes are created when running this program (including the initial one)? Explain
program to find the magic square