C++ 从函数返回指针
C++ 允许从函数返回指针,必须声明一个返回指针的函数:
int * myFunction()
C++ 不支持在函数外返回局部变量的地址,除非定义局部变量为 static变量。
1 #include <iostream>
2 #include <ctime>
3 #include <cstdlib>
4
5 using namespace std;
6
7 // 要生成和返回随机数的函数
8 int * getRandom( )
9 {
10 static int r[10];
11
12 // 设置种子
13 srand( (unsigned)time( NULL ) );
14 for (int i = 0; i < 10; ++i)
15 {
16 r[i] = rand();
17 cout << r[i] << endl;
18 }
19
20 return r;
21 }
22
23 // 要调用上面定义函数的主函数
24 int main ()
25 {
26 // 一个指向整数的指针
27 int *p;
28
29 p = getRandom();
30 for ( int i = 0; i < 10; i++ )
31 {
32 cout << "*(p + " << i << ") : ";
33 cout << *(p + i) << endl;
34 }
35 return 0;
36 }
运行结果:
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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)