So when strcpy(a,b) is executed, the values of a and b are passed to the function, and the function matches its argument declaration (char *s, char *t) to (a, b), so s and t are those pointers whose values (extracted by *) are those passed from a and b.s and t are the pointers whereas *s and *t are the values.(Remember * gives you the value).
All right, now that's clear, but now how does s[i] = t[i] work in the first example? The pointer is not an array, right? So how can t[i] be a valid expression let alone get assigned to s[i]? If it were *s[i] = *t[i] it would be understandable...
Bookmarks