【发布时间】:2012-05-29 07:31:24
【问题描述】:
如题所示,如何返回指针是这样的:
xxxxxxx foo() {
static int arr[5][5];
return arr;
}
顺便说一句。我知道我必须至少指定一个维度的大小,但是如何?
【问题讨论】:
-
一个更好的问题是为什么你想要返回一个。老实说,我想不出任何有意义的程序设计方式。
-
@Lundin 也许是一个数据处理函数,它返回一个指向二维数组的指针。
-
这并不能解释为什么您需要返回这样一个指针,而不是使用作为函数参数之一传递的指针,这是 C 中的约定。从函数返回指针最常见一个糟糕的程序设计的明确指示。
-
@Lundin 你是对的。我知道使用该方法返回多个值非常方便。但是我认为如果没有任何其他返回值,直接返回一个指针是很自然的。为什么这是一个糟糕的程序设计?能详细解释一下吗?
-
@Lundin 很好。你的意思是返回值应该是错误码而不是指针?