Possible Duplicate:
Is array name a pointer in C?
What is the difference between p and a in C?
float a[10],*p; p=a;
Possible Duplicate:
Is array name a pointer in C?
What is the difference between p and a in C?
float a[10],*p; p=a;
If we define "difference" as the result of subtraction, there answer is zero:
assert((p-a) == 0);
...until you assign some other pointer value to p (which you cannot do with a, because it doesn't name a pointer variable: it names an array which decays to pointer in appropriate contexts; there are other contexts, e.g. sizeof(p)!=sizeof(a)).
float a[10],*p; p=a;
a is an array 10 of float.
p is a pointer to float. It points to the first element of a.
In C arrays are not pointers. Arrays and pointers are two different types. For example:
sizeof a; // compute the size of an array
sizeof p; // compute the size of a pointer
p = &a[1]; // this is valid, p points to the second element of a
a = &p[1]; // this is not valid, you cannot assign to an array