目录
数组
定义
需指定数组类型和数组大小
type name [size];
从函数返回数组
C++ 不允许返回一个完整的数组,但是,可以通过指定不带索引的数组名来返回一个指向数组的指针。
编译不成功,需改为指针
修改:
输出
错误原因:test()函数内的数组是局部变量,函数执行完后会被销毁,指向它的指针会失效,C++不支持在函数外返回局部变量的地址。
解决:将局部变量定义为静态变量,使用静态数组或动态数组。
修改: 或
输出
注意 使用动态数组,调用函数的代码需要释放释放返回的数组,C++不会自动释放内存。
传递数组给函数
C++传递数组,实际上传递的是数组的地址,且传参时不会自动将数组的大小传递给形参数组,这也是为什么传递数组时通常会将数组大小另设参数传递的原因
例如 int *test(int num[],int numSize)
接收数组参数的函数形参可设以下三种:
1.指针
2.定义了大小的数组
3.未定义大小的数组