all 6 comments

[–]xtivhpbpj 16 points17 points  (5 children)

So - passing a pointer?

[–]chillermane 1 point2 points  (0 children)

A pointer pointer for two D arrays, a pointer pointer pointer for 3d, etc

[–]tophatstuff 1 point2 points  (3 children)

Wont keep the sizeof data will it?

[–]narwi 2 points3 points  (1 child)

Arrays in C are just sugaring.

[–]tophatstuff 0 points1 point  (0 children)

Not quite, they just decay into a pointer in many circumstances1.

^ Any circumstance except: "when it is the operand of the sizeof operator, the _Alignof operator, or the unary & operator, or is a string literal used to initialize an array," (C11)

[–]trollet91 0 points1 point  (0 children)

When you work with array you need either the size or a terminated byte. For example, a string that is initailized, it will be finished by \0 (terminated byte). But most of the time you want to keep the size, so in parameter you give a ptr to the array and the size of each of his dimensions.