返回值替行指针
返回值为行指针
int (*)[4] search(int (*p)[4]);
能不能返回行指针??
------解决方案--------------------
是可以的,行指针是一维指针。
------解决方案--------------------
楼主int (*)[4] search(int (*p)[4]);的写法正确吗?
我觉得是这样吧:
int *search(int (*p)[4]);
??
函数返回指针??
------解决方案--------------------
不懂啦,坐等答案
------解决方案--------------------
简单点,可以直接用typedef
------解决方案--------------------
这个int(*)[4]是一个指向四个int类型单元一维指针,不是简单的int *p;类似这样的一维指针。你定义的指针加1移动的是4 * 4共16个字节的。
------解决方案--------------------
返回值为指针的函数,其类型也必须为指针类型的。而且只能返回函数中作为实参传递的指针。当然也可以对程序中的全局变量或者函数中声明为static的变量用指针方式返回变量 的地址。
------解决方案--------------------
1. typdef可以简化
2. int (*)[4] search(int (*p)[4]);语法错误, 应该
int (*)[4] search(int (*p)[4]);
能不能返回行指针??
指针
返回值
------解决方案--------------------
是可以的,行指针是一维指针。
------解决方案--------------------
楼主int (*)[4] search(int (*p)[4]);的写法正确吗?
我觉得是这样吧:
int *search(int (*p)[4]);
??
函数返回指针??
------解决方案--------------------
不懂啦,坐等答案
------解决方案--------------------
简单点,可以直接用typedef
------解决方案--------------------
int (*)[4] search(int (*p)[4]); 报错!!!
是可以的,行指针是一维指针。
这个int(*)[4]是一个指向四个int类型单元一维指针,不是简单的int *p;类似这样的一维指针。你定义的指针加1移动的是4 * 4共16个字节的。
------解决方案--------------------
返回值为指针的函数,其类型也必须为指针类型的。而且只能返回函数中作为实参传递的指针。当然也可以对程序中的全局变量或者函数中声明为static的变量用指针方式返回变量 的地址。
------解决方案--------------------
1. typdef可以简化
typedef int (*PARR)[4];
PARR search(PARR arr)
{
return arr;
}
2. int (*)[4] search(int (*p)[4]);语法错误, 应该
int (*search(int (*p)[4]))[4]
{
return p;
}