C ++不会返回整个数组,但可以返回指向数组的指针。在函数外部,无法返回局部变量的地址。通过使局部变量静态,它可以返回局部变量的地址。
以下是返回指针的语法。
int * function_name() { body }
这里,
function_name-用户给定的函数名称。
以下是从函数返回数组的示例。
#include <iostream> using namespace std; int * ret() { static int x[3]; for(int i=0 ; i<5 ; i++) { cout << " " <<&x[i]; } return x; } int main() { ret(); return 0; }
输出结果
0x601180 0x601184 0x601188 0x60118c 0x601190
在上面的程序中,ret()
创建了一个函数并返回一个数组。声明一个静态int类型数组,并打印分配的内存块的地址。
int * ret() { static int x[3]; for(int i=0 ; i<5 ; i++) { cout << " " <<&x[i]; } return x; }
在main()
函数中,该函数ret()
称为-
ret();