My question is base on the following code:
int myfunct(int ary[], int arysize) int myfunct2(int *ary, int arysize) int main(void){ int numary[10];
Those declarations are absolutely identical. To quote the standard:
A declaration of a parameter as "array of type" shall be adjusted to "qualified pointer to type"
C99 standard section 6.7.5.3 paragraph 7