|
c语言中如何一个函数的多次调用
在A函数中多次调用一个b()函数,例如A函数中a=b(); c=b(),怎么能知道b()函数返回的值是给了a还是给了c
一个函数只能有一个返回值,指针可以返回多个,例如:
void aaa()
{
int *a,*c;
int a,c;
*a=a;*c=c;
a=b();c=b();
}
下面调用 *a和*c.
扩展资料:
在C语言中,指针的使用非常广泛,因为使用指针往往可以生成更高效、更紧凑的代码。总的来说,使用指针有如下好处:
1、指针的使用使得不同区域的代码可以轻易的共享内存数据,这样可以使程序更为快速高效;
2、C语言中一些复杂的数据结构往往需要使用指针来构建,如链表、二叉树等;
3、C语言是传值调用,而有些操作传值调用是无法完成的,如通过被调函数修改调用函数的对象,但是这种操作可以由指针来完成,而且并不违背传值调用。
参考资料来源:
C语言是怎么进行函数调用的?
每一个函数调用都会分配函数栈,在栈内进行函数执行过程。调用前,先把返回地址压栈,然后把当前函数的esp指针压栈。
C语言中 多个源文件之间函数如何调用
首先要建立一个头文件,以.h保存
这样
#include <stdio.h>
typedef struct {
char name[100][60];
char number[100][8];
int mon[100],day[100];
char sex[100];
double height[100];
}inf;
int input(inf *x ,int i);
int output(inf *y ,int h);
当然要有个主函数.
#include "inout.h"
int main(void)
{
int n;
inf id;
do{
printf("*********n");
scanf("%d",&n);
}while(n>100);
input(&id,n);
output(&id,n);
return(0);
}
然后 这个头文件有两个函数.这两个函数,以.c的格式保存.
#include <stdio.h>
#include "inout.h"
int input(inf *x,int i)
{
........
}
#include <stdio.h>
#include "inout.h"
int output(inf *y ,int h)
{
....
}
主函数来负责调用,别的源文件.但是,要有一定要有个头文件.
就相当说, 站长(主函数)要控制各个列车(多个源文件).需要通过调度台(头文件)
这是我的理解,我也是刚学.希望大家指正
编译的时候,要分别编译,先要把非主函数的源文件便宜成obj格式.
我的编译器是:cl /c 源文件名.c (cygwin中是 gcc -c 源文 |
上一篇:安全座椅怎么安装图解,s888安全座椅怎么安装视频
下一篇:浏览器缓存怎么清除,清空浏览器缓存怎么操作
|