二维指针与函数

来源:互联网 发布:学生成绩录入系统源码 编辑:程序博客网 时间:2024/05/23 11:57

直接上例程:
char array[3][3]={{'0','1','2'},{'3','4','5'},{'6','7','8'}}; 


int testFunc(char **array)
{
//printf("%c\n",array[1][2]);  

printf("%c\n",*((char *)array + 3*1 + 2)); 

//或者

char (*p1)[3] = (char(*)[3])array;
printf("%c\n",p1[1][2]);  

return 0;
}


int testFunc2(char (*array)[3])
{
printf("%c\n",array[1][2]);  
return 0;
}


int testFunc3(char array[][3])
{
printf("%c\n",array[1][2]); 
return 0;
}




int main(int argc, char *argv[]) 
{
testFunc((char **)array);
testFunc2(array);
testFunc3(array);
getchar();
return 0;

}


以上三个函数的运行结果是一样的,从上也可以知道二维指针如何作为函数参数使用的。

0 0
原创粉丝点击