小白一个, 想问一下函数的参数为二维指针的问题
#include <stdio.h>
void lian(char **);
int main(void)
{
int shu[2][3] = { {1,2,3}, {4, 5, 6} };
printf("shu point is %p\n", shu);
printf("*shu point is %p\n", *shu);
lian(shu);
system("pause");
return 0;
}
void lian(int *shu[8])
{
printf("shu point is %p\n", shu);
printf("*shu point is %p\n", *shu);
}
------------------------------------------------------------
shu point is 001DFD84
*shu point is 001DFD84
shu point is 001DFD84
*shu point is 00000001
请按任意键继续. . .
-----------------------------------------------------------------------------
很感谢能回答我的问题
我的问题是main函数中shu的值是001DFD84
而( * shu)的值是001DFD84
而在lian函数中,其shu有相同的值
为什么 * shu变了;
虽然参数为 shu[8],但其只传递main中shu的值001DFD84
而参数其实由8个指针组成的数组,近似于二位指针;可以做操作,
为什么会改变。
谢谢解答我的疑问