今天在一代码中发现二维数组竟然可以这样传参,很有趣,先记下来,作为以后的学习参考。
比如数组a[4][4];我们如果传的是int* x,那么x[4]其实就是a[1][1]的值。
下面就是用这种方法输出数组的所有值。
#include<stdio.h>
#include<string.h>
#include<malloc.h>
void rotate(int* x, int rank)
{
for(int i=0; i<rank*rank; i++)
{
printf("%d",x[i]);
}
}
int main(int argc, char* argv[])
{
int x[4][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
int rank = 4;
rotate(&x[0][0], rank);
return 0;
}