Will the new expression ever return a pointer to an array?
问题 In this excellent answer by AndreyT, he explains that in C, when a function needs an array whose dimension is known at compile-time, it's a major technique-level error to declare void process_array(int *ptr, size_t plen); instead of void process_array(int (*arr_ptr)[10]); Furthermore, he opines that many programmers are oblivious to the second option and know only about the first. One of the reasons, he writes, for this behaviour is when an array needs to be dynamically allocated and passed