rsdb.net
当前位置:首页 >> C语言知识%%%指针型函数的返回值可以用数组名吗??? >>

C语言知识%%%指针型函数的返回值可以用数组名吗???

按照C的规则,以上二者在语法和逻辑上都是正确的。例1之所以有问题,是“不可以返回局部数组的首地址”,因为局部数组是建在栈上的,在函数结束后就自动消失了,通过返回的地址操作这一失控的区域,将会产生不可预料的结果;几乎所有的教科书上都...

首先,你不应该返回局部变量的指针,因为局部变量在离开函数后就会被销毁。如果你想这样返回一个数组的话,你应该malloc出一个数组来返回。 至于应该return什么,return (malloc出来的那个指针)就可以了。 例如 int** foo() { int **p = (int ...

不能直接返回一个数组,但是可以用其他方式实现类似功能。 方法1:利用全局变量 分析:全局变量作为C语言的一个知识点,虽然我们都了解它的特点,但在实际教学过程中应用得并不是很多。由于全局变量的作用域是从定义变量开始直到程序结束,而对...

子函数中定义的一般指针变量,在子函数结束之后会被自动释放,如果返回这种局部指针变量,调用者一般是不能正确读到指针地址中的数据的。 因此,如果想在主函数中输出自定义函数中定义的数组,就要在自定义函数中把数组定义为静态数组,然后返回...

1、ANSIC语言标准,明确规定数组类型和函数类型不可以做为返回值。 解决这种返回值的方法是通过指针来间接返回,即使用数组指针和函数指针。这可以做为c语言引入指针的另一个理由。 2、字符串是数组的一种,是字符数组,所以同样不可以作为返回...

并不是一定不能返回,而是要区分定义的一维数组类型。 1 当一维数组为静态类型时,即 static type var[N]; 的形式,这时是可以将数组名返回的。 2 当一维数组不是静态类型,即不存在static修饰时,数组为局部变量,这时不能将数组名返回。 当把...

您好!b是数组名,代表数组的首地址,即&b[0],b+n-1表示数组的首地址前进(n-1)个单位(这里数组b是整型,所以相当于前进(n-1)*4个字节),所以b+n-1也是个地址。如果不懂可以再问。 数组名是一个指针,这是教材的基础内容。

C/C++里指针和数组用法是通用的,返回一个二级指针,然后按照指针数组的用法使用即可。 char ** f1(); char** p=f1();//接收函数返回值 printf ("%s",p[2]);//输出第三个成员的内容

你这个只是试图交换两个数组的首地址,而数组的首地址是常量,不会交换成功的。 你的swap中要用循环一次交换两个数组的对应元素才能实现你想要的功能。

函数不可以定义为数组,可以用函数指针来操作。 1.函数指针的数组定义方法:返回值类型( * 指针变量名[Number]) (形参列表)。例如:double add(double a,double b){};double sub(double a,double b){};double mul(double a,double b){};double d...

网站首页 | 网站地图
All rights reserved Powered by www.rsdb.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com