为什么不能强制转换数组首地址为指针并返回
在一个函数内,为什么不能强制转换数组首地址为指针并返回
代码部分如下:
n已赋值,且return前数组中含有元素
int sparse[n+1][3];
return (int*) sparse;
报错:

回答
return 之后,int sparse[][] 会被回收,如果成功返回了。后续访问也会出问题。
如果需要返回数据,那只能自己申请内存。另外接收者还需要负责销毁数据。
在一个函数内,为什么不能强制转换数组首地址为指针并返回
代码部分如下:
n已赋值,且return前数组中含有元素
int sparse[n+1][3];
return (int*) sparse;
报错:

return 之后,int sparse[][] 会被回收,如果成功返回了。后续访问也会出问题。
如果需要返回数据,那只能自己申请内存。另外接收者还需要负责销毁数据。