C++入门【25-C++ 从函数返回指针】

在上一章中,我们已经了解了 C++ 中如何从函数返回数组,类似地,C++ 允许您从函数返回指针。为了做到这点,您必须声明一个返回指针的函数,如下所示:

int * myFunction() { . . . }

另外,C++ 不支持在函数外返回局部变量的地址,除非定义局部变量为 static变量。

现在,让我们来看下面的函数,它会生成 10 个随机数,并使用表示指针的数组名(即第一个数组元素的地址)来返回它们,具体如下:

实例

#include <iostream>
#include <ctime>
#include <cstdlib>
 
using namespace std;
 
// 要生成和返回随机数的函数
int * getRandom( )
{
  static int  r[10];
 
  // 设置种子
  srand( (unsigned)time( NULL ) );
  for (int i = 0; i < 10; ++i)
  {
    r[i] = rand();
    cout << r[i] << endl;
  }
 
  return r;
}
 
// 要调用上面定义函数的主函数
int main ()
{
   // 一个指向整数的指针
   int *p;
 
   p = getRandom();
   for ( int i = 0; i < 10; i++ )
   {
       cout << "*(p + " << i << ") : ";
       cout << *(p + i) << endl;
   }
 
   return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:

624723190
1468735695
807113585
976495677
613357504
1377296355
1530315259
1778906708
1820354158
667126415
*(p + 0) : 624723190
*(p + 1) : 1468735695
*(p + 2) : 807113585
*(p + 3) : 976495677
*(p + 4) : 613357504
*(p + 5) : 1377296355
*(p + 6) : 1530315259
*(p + 7) : 1778906708
*(p + 8) : 1820354158
*(p + 9) : 667126415

相关推荐

  1. C++入门25-C++ 函数返回指针

    2024-01-13 22:44:09       40 阅读
  2. C 函数返回指针

    2024-01-13 22:44:09       14 阅读
  3. C++入门【16-C++ 函数返回数组】

    2024-01-13 22:44:09       34 阅读
  4. C++入门24-C++ 传递指针函数

    2024-01-13 22:44:09       34 阅读
  5. C语言如何理解返回指针函数

    2024-01-13 22:44:09       10 阅读
  6. C++入门20-C++ 指针的算术运算】

    2024-01-13 22:44:09       31 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-13 22:44:09       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-13 22:44:09       20 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-13 22:44:09       20 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-13 22:44:09       20 阅读

热门阅读

  1. Pandas实战100例 | 案例 25: 计算相关系数

    2024-01-13 22:44:09       40 阅读
  2. SpringBoot全局配置Long转String丢失精度的问题解决

    2024-01-13 22:44:09       39 阅读
  3. 【Leetcode】268.丢失的数字

    2024-01-13 22:44:09       37 阅读
  4. tar命令使用

    2024-01-13 22:44:09       37 阅读
  5. FreeSWITCH CentOS7下源码编译mod_mariadb

    2024-01-13 22:44:09       42 阅读
  6. 开源协议概览

    2024-01-13 22:44:09       40 阅读