it depends; if *a points to an existing array of 10 elements, then yes. If not, then you'd need to dynamically allocate space for the 10 elements. Code: int a[10], *ap = a; // ok ap points to an existing array Code: int *a = malloc(10 * sizeof(*a)); // allocate space for 10 elements ... free(a);