int * getRandom( )
{
static int r[10];
// set the seed
srand( (unsigned)time( NULL ) );
for (int i = 0; i < 10; ++i)
{
r[i] = rand();
cout << r[i] << endl;
}
return r;
}
我想知道在这里有一个名为getRandon的函数,该函数的数据类型是int。为什么我们将此函数声明为指针。
答案 0 :(得分:4)
它返回一个指向带有静态存储的int
数组的第一个元素的指针。该数组在程序的生命周期内有效。
答案 1 :(得分:1)
int* getRandom() {}
这定义了一个函数,该函数不接受任何参数并返回指向int的指针。在你的情况下,它返回指向整数数组的第一个元素的指针。由于该数组是静态分配的,因此即使该函数退出也可用。
答案 2 :(得分:1)
该函数将指针返回给int
。这是星号的重要性。
语法与变量,函数参数等声明中星号的使用方式没有什么不同。
函数return r
r
是数组而不是指针的原因是arrays "decay" into pointers。
答案 3 :(得分:0)
返回int指针因为,
在此函数返回整数指针的位置,只需要一个整数, 所以在这种情况下,指针返回地址为&#34; 0&#34;指数。通过使用这个指针,我们可以访问该数组中给出的任何值,
数组是静态的,所以它在执行开始时创建&amp;在程序终止时处理。