C语言指针与返回值

作者&投稿:蒋妻 (若有异议请与网页底部的电邮联系)
c语言返回值具体是指什么?~

子函数的返回值,main主函数也是有返回值的,但是一般用不到都忽略掉了,一般来说的返回值就是子函数的返回值。当需要一个函数去处理数据时,如求平方,这时候求平方后的值可以有两种方法表达
1、以值的形式返回给你,即return x,这样就可以利用这个结果了,此时函数名前当然要加返回的数据类型了
2、当不需要对这一结果进一步处理时,直接printf,这样可以直接在终端上显示结果了,这时就没必要去加了,直接VOID

扩展资料
void:声明函数无返回值或无参数,声明无类型指针,显示丢弃运算结果。(C89标准新增)

如果一个变量声明时在前面使用 * 号,表明这是个指针型变量。换句话说,该变量存储一个地址,而 * 则是取内容操作符,意思是取这个内存地址里存储的内容。指针是 C 语言区别于其他同时代高级语言的主要特征之一。
指针不仅可以是变量的地址,还可以是数组、数组元素、函数的地址。通过指针作为形式参数可以在函数的调用过程得到一个以上的返回值,不同于return(z)这样的仅能得到一个返回值。
参考资料:c语言 - 百度百科

函数的返回值是指函数被调用之后,执行函数体中的代码所得到的结果,这个结果会通过return语句返回。
函数可以有返回值,也可以没有返回值。对于没有返回值的函数,功能只是完成一个操作,应将返回值类型定义为void,函数体内可以没有return语句,当需要在程序指定位置退出时,可以在该处放置一个。

扩展资料:
return返回值的工作过程如下:
程序运行过程中,我们知道,被调函数运行结束后才会返回主调函数,但是被调函数运行结束后系统为被调函数中的局部变量分配的内存空间就会被释放。事实上在执行return语句时系统是在内部自动创建了一个临时变量,然后将return要返回的那个值赋给这个临时变量。
所以当被调函数运行结束后return后面的返回值真的就被释放掉了,最后是通过这个临时变量将值返回给主调函数的。
而且定义函数时指定的返回值类型实际上指定的就是这个临时变量的类型。这些都是系统自动完成的,稍微了解即可,不用深入研究。
参考资料:
函数的调用-C语言网

函数A的返回值错误。虽然地址和指针很像,但还是不同的两个东西。而且,一旦出了函数A,返回的地址,也就该被回收,会导致程序出错。是非常危险的行为。
举个例子说明下吧。
int *p=a;
这个,在数值上,p是和a的地址相等的,也就是有p==&a。
这时如果a=1;那么你知道*p==1,是真。
但是此时,p存储的是a的地址,p还有自己本身的地址。就好比,你(p)坐在座位上,用手指向另一个座位(&a)一样。那个座位就是a的地址,上面坐着谁(1),就是a的值。你本身就是指针了。
所以说,返回值是指针和地址是完全不同的两个概念。所以就是错误的!

B函数为啥正确呢?因为NULL是一种特殊的指针,叫空指针。所以是可以算作正确的。

func()函数返回值为空,通过指针修改了a的值。
func的p是一个类型为int*(整型指针)的变量,它的值在调用时被赋为一个整型变量的内存地址。*p的作用是获取p指向的内存地址的值,给*p赋值就是直接在修改main函数中变量a的内存地址的值。
如果直接传a的值过去,不能直接修改a的内存地址的值,只能通过a=func(a)的方式了。

A,函数返回值不能返回局部变量的地址,因为函数结束局部(栈区)变量就收回了,使用它的地址已经属于非法结果了。
B 函数返回值,可以为NULL ,没有错误的。


c语言指针法变量交换,为什么返回值为指针,main函数取值不成功?代码如 ...
3、交换函数的形参指针变量x和y,这两个指针变量与全局指针变量x和y没有关系,在jiaohuan函数中,对形参指针变量x和y做操作并不影响全局指针变量x和y。4、在jiaohuan函数中,你所做的交换只是对指针进行赋值,并没有交换指针指向的数据,所以也完成不了交换任务。5、jiaohuan函数的返回值为int型指针...

当一个函数的返回值为指针类型时如何调用
,function为一个函数名。调用方式:type * var; \/\/定义一个与返回值类型相同的指针变量 var = function(); \/\/执行函数,并将返回值赋值给变量var cout<<*var; \/\/输出指针所指向的值,C语言输出用printf()函数 或:cout<

C语言中函数指针用法
b. 函数调用中 "(* 指针变量名 )" 的两边的括号不可少,其中的 * 不应该理解为求值运算,在此处它只是一种表示符号。3:指针型函数 前面我们介绍过,所谓函数类型是指函数返回值的类型。 在C语言中允许一个函数的返回值是一个指针 ( 即地址 ) ,这种返回指针值的函数称为指针型函数。定义...

C语言中返回值为空指针起什么作用?
编写一个函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串。(下面是我写的代码,请修改) #include

C语言指针基本概念及其指针变量的定义是什么
对字符指针初始化,是将字符串的首地址赋给指针。4、指针型函数 所谓指针型函数,即返回值是指针(地址)的函数。5、多级指针 指向指针的指针(**p)就是二级指针,指向指针的指针的指针(***p)是3级指针。多级指针类似于间接寻址。6、指向函数的指针 C语言中的函数名表示函数的首地址,即函数执行...

c语言指针问题解答?
二、我们只能通过*p修改a的值,p是一个地址指针,更改p后 p指向了另一块内存,a的值不会被更改。三、int *p[] p是一个数组,数组内每个元素都是int*类型,也就是指向整型数据的指针类型,int *p()是int (*p)()函数调用后的返回值指针 int (*p)()是一个函数的函数指针,即指向函数的地址,...

C语言指针基本概念及其指针变量的定义是什么
存放的是指定类型数据的地址,而同类型变量存放的是数据。指针变量:就是一个变量,其值是可变的,与整形变量、浮点变量等等的命名规则完全相同。 “指针”是概念,“指针变量”是具体实现。指针类型说明,即定义变量为一个指针变量; 指针变量名; 变量值(指针)所指向的变量的数据类型。

C语言中。一个指针子函数返回值是地址还是地址中得内存内容。。_百度...
首先来看一下int *a(int *b)这句的意思:定义了一个返回值类型为整型指针(int*)的函数,函数名为a,这个函数需要传递一个参数b,该参数的类型也是整型指针(int*)。所以调用该函数的地方应该传入一个整形指针。这里强调一下指针的三个要点:①指针是一种特殊的变量;②指针这种变量存储的值为一个...

C语言指针作为函数参数,返回值为0
return *p; \/\/返回指针p指向的地址}int main(){ double *p=... \/\/初始化指针p double *q; \/\/用于接收改变的指针 ... q=a(&p); \/\/将指针p的地址传递给a ... return 0;} 如果是用作dll的话,那么你应该使用和相应语言兼容的类型才行 ...

...已读到该文件的末尾,则C语言函数feof(fp)的返回值是
feof()函数用来判断指针是否到达文件尾部。若fp已指向文件末,则feof(fp)函数值为“真”,即返回非零值;否则返回0。

东阳市17661371393: C语言指针与返回值 -
巢战甘油: 函数A的返回值错误.虽然地址和指针很像,但还是不同的两个东西.而且,一旦出了函数A,返回的地址,也就该被回收,会导致程序出错.是非常危险的行为. 举个例子说明下吧. int *p=a; 这个,在数值上,p是和a的地址相等的,也就是有p==&a. 这时如果a=1;那么你知道*p==1,是真. 但是此时,p存储的是a的地址,p还有自己本身的地址.就好比,你(p)坐在座位上,用手指向另一个座位(&a)一样.那个座位就是a的地址,上面坐着谁(1),就是a的值.你本身就是指针了. 所以说,返回值是指针和地址是完全不同的两个概念.所以就是错误的!B函数为啥正确呢?因为NULL是一种特殊的指针,叫空指针.所以是可以算作正确的.

东阳市17661371393: C语言中,指针型函数和函数型指针的区别 -
巢战甘油: 指针函数,本质上是一个函数,只是函数的返回值是一个指针,比如int *f() 函数指针,本质上是一个指针,只是指向的是一个函数,比如int (*f)()

东阳市17661371393: c语言返回值具体是指什么? -
巢战甘油: 子函数的返回值,main主函数也是有返回值的,但是一般用不到都忽略掉了,一般来说的返回值就是子函数的返回值.当需要一个函数去处理数据时,如求平方,这时候求平方后的值可以有两种方法表达 1、以值的形式返回给你,即return x,...

东阳市17661371393: C语言指针基本概念及其指针变量的定义是什么 -
巢战甘油: 指针是常见间接访问方式.指针就像一个快捷方式,它指向内存的一个地址,可以通过指针就可以间接的访问到数据.对于计算机,访问内存的方式有两种,直接访问和间接访问.直接访问通过就是通过变量名称去访问.指针概念是构成C/C++的...

东阳市17661371393: C语言中对指针的理解与举例子 -
巢战甘油: 首先你要知道指针是一个变量,所以它具有普通变量的性质.比如你int a.a是一个变量.当你创建的时候,系统就会分配给他一个地址空间,它的长度是四字节的.你可以给这个变量a赋任何小于4字节的大小.指针也一样.它也有地址.它也...

东阳市17661371393: C语言中的函数指针 -
巢战甘油: 函数指针是定义一个指向函数的指针,形式为:void (*p)(void); 一般用法:int fun1(int x); int fun2(int x); char fun3(int x); int fun4(char x); int main(void) { int (*p)(int x);p=fun1; //指向fun1 p(2) //这时等价于fun1(2) p=fun2; //也可以指向fun2 . .但...

东阳市17661371393: C语言怎么让“函数”返回“指针数组” -
巢战甘油: 首先,你不应该返回局部变量的指针,因为局部变量在离开函数后就会被销毁.如果你想这样返回一个数组的话,你应该malloc出一个数组来返回. 至于应该return什么,return (malloc出来的那个指针)就可以了. 例如 int** foo() { int **p = (int **)malloc(sizeof(int *)*10); ... ... ... return p; } 这个p指向一个内存段,这个内存段存有十个int*类型的元素.

东阳市17661371393: C语言中.一个指针子函数返回值是地址还是地址中得内存内容.. -
巢战甘油: 这个函数的意思是:函数返回一个指针,函数形参是一个指针变量,所以既然是返回指针,return b 就行了,函数输入的是一个地址,但是对其操作是程序会自动提取它指向的内容进行操作!

东阳市17661371393: C语言中返回值 -
巢战甘油: 首先,C语言中的函数有两种形式:1)有返回值,2)无返回值.有返回值的函数会把执行的结果(也就是你写这个函数的目的)返回到主函数中.没有返回值的函数主要是为了完成某种任务(其实这是废话,函数的功能就是为了完成某种任务...

东阳市17661371393: 求C语言中指针的用法 -
巢战甘油: 电脑程序中,不管是什么东西,他都对应有一个地址,而指针的作用是指向这个地址.例如int a=0; a的内容是0,但是在电脑中的内存地址就是其他,假如是2000,那么指针指向的就是这个2000的值.继续刚才的例子int *p;p=&a;这个时候p就指向了a的地址2000,如果想借助p来访问a,就需要在p前面添加上*号,如*p的内容就是0了,也是a的内容.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网