>nem adod át a stack-en, nem memcopy-zol, mert vinné a futásidőt és zabálná a stack-et.
De hol marad az alkotói szabadság? :-) Ha én át akarom adni a stacken, akkor miért ne tehetném meg? Épp ez egy kognitíven nehéz része a C-nek, hogy sima változó érték szerint megy át, a tömb viszont csakis pointerként, és "automatikusan" a tömb neve egy pointer is. Nekem már nem az, mert elég rég tanultad hozzá, hogy mostanra természetes legyen.
>senki sem akadályoz meg abban, hogy deklarálj egy struktúrát, amelynek egyik eleme egy pointer, a másik egy elemszám, majd ezt a struktúrát add át a függvényednek.
Ha belegondolsz az lenne az ésszerű, hogy ez lenne az alapműködés, mert az esetek 99%-ában át kell adni a méretet is. És ha véletlenül nem kell, akkor arra volna való a pointer, ami nem tömb, hanem pointer.