重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
用指针,另外保存数据的变量退出函数时不得消失。
创新互联专业为企业提供贡山网站建设、贡山做网站、贡山网站设计、贡山网站制作等企业网站建设、网页设计与制作、贡山企业网站模板建站服务,十载贡山做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
例如:
#includestdio.h
int * fun(int n)
{
int i;
static int a[100]; // 这里用static
for (i=0;in;i++) a[i]=i;
return a[0];
}
void main()
{
int i,n=5;
int *p; // 声明指针
p = fun(n); // 返回指针
for (i=0;in;i++) printf("%d\n",p[i]); // 把 p 看成数组来输出
}
得 0 1 2 3 4
扩展资料:
注意事项
1、数组的维度必须是一个常量表达式
int main(void)
{
constexpr int i = 20;
int j = 5;//不是常量表达式
int arr1[i];//正确
int arr2[j];//错误
system("pause");
return 0;
}
2、默认情况下,数组的元素被默认初始化。
而且需要注意的是,和内置类型的变量一样,如果在函数内部定义了某种内置类型的数组,那么默认初始化会令数组有未定义的值。
1、新建一个数组作为参数项目,如图所示:
2、添加一个array.c文件,如图所示:
3、包含stdio.h和stdlib.h头文件,如图所示:
4、输入main函数主体及返回值,如图所示:
5、定义一个数组arr,如图所示:
6、定义一个function函数,如图所示:
7、将数组作为参数传递给function函数,如图所示:
8、运行程序,输出结果,如图所示:
就是返回一个数组的地址,比如:
int* Fun(int pArray[])
{
return pArray;
}
int pArray[] 作为参数和 int *是一样的
因为不能返回局部变量 函数的返回地址就是形参的
你要知道 你局部变量的地址是不能返回的
所以,我还是返回一个动态的地址
int* Fun()
{
int *pInt = new int[100];
return pInt;
}
这样就可以了
还有啊 最后记得释放pInt啊
一般用 函数的 参数传递。如果要通过函数返回值传递,可以用指针,另外保存数据的变量退出函数时不得消失。例如: #include int * fun(int n) { int i; static int a[100]; // 这里用static for (i=0;i