c语言函数“intf(intx)”详解,这个函数一般怎么用

2024-07-29 08:58:10 浏览

这个程序语法,有些问题,而且,逻辑,逻辑上好像也有错误(个人见解)。

c函数intfintx详解,这个

首先,是函数定义,c语言中函数定义的时候,需说明形参的类型。

你的程序,两个指针的类型都没有说明,对应位置应该改为:intf(intx,int*py,int**ppz)。

其次,在逻辑上,你的三个形参都是操作的同一个地址空间(内存单元)中的内容,也就是你把同一个地址给了三个形参。这貌似会问题。我加了main函数运行了你的程序……会崩溃,根本不会出现你想要的的结果!也许你会怀疑我的main函数有问题,我把我的代码页给你,你可以自己试试!#includeintf(intx,int*y,int**z){**z+=1;*y+=2;x+=3;returnx+*y+*(*z);}intmain(){intc=4;int**a=c;int*b=c;intd;d=f(c,*b,**a);printf("%d",d);return0;}

当然是由函数决定的啊:

那么这个函数的返回值int型返回值。

可以写成return XX -->XX是int型,如果这里你写成其它型的(如A说的),编译会报错

PC机会隐式的让返回值为int型,如果你return 0.32, 返回去的值其实是0.

函数形参带进来的地址

静态局部变量地址

局部变量地址,必须在函数中用malloc()函数进行地址分配

采用全局变量地址

void func1( char *s ) //通过形参返回字符串

return s ; //返回形参地址,方便程序调用

static char s[100]; //不能是非静态变量,否则,子函数结束,局部变量被释放,调用者得到一个无效的地址值。

return s ; //返回静态局部变量地址,由调用者采用相应的指针变量接收返回值,得到字符串数据

return s ; //返回s值,该地址需要调用者去free()释放。

return globle_buf ; //返回全局变量地址,方便程序调用

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。