我有一个矩阵M[2][2]
,想要调用函数dontModify(M)
,它将使用M的元素但不会更改它们。类似的东西:
dontModify(M):
swap off-diagonal elements;
take determinant of M;
return determinant;
...但是在此过程中没有功能改变M.有什么方便可以实现这个目标吗?
答案 0 :(得分:3)
在函数内部创建矩阵的本地副本,您可以随意执行该任务。
int some_function(int matrix[2][2])
{
int local_matrix[2][2] = {
{ matrix[0][0], matrix[0][1] },
{ matrix[1][0], matrix[1][1] },
};
/* Do things with `local_matrix` */
/* Do _not_ use `matrix` */
...
}
答案 1 :(得分:0)