您的位置:

c语言调用规范,c语言 调用

本文目录一览:

c语言中函数变量调用有什么规则?什么时候用空文件void 什么时候用bool,int等谢谢

看你设计函数的作用是什么

举个例子 int max(int a ,int b);

返回a,b中的较大值,返回的类型是int,这时候用int 是比较合理的。

另一个 void show(char*p){printf(……};

函数是为了输出字符串,没有需要返回的东西,这时候用void

bool也是类似的情况

如果你详细看看书的话是不会问这种的问题的,好好看看书吧

调用规范stdcall和c语言的区别

在函数参数处理上不同_stdcall是Pascal程序的缺省调用方式,参数采用从右到左的压栈方式,被调函数自身在返回前清空堆栈。WIN32Api都采用_stdcall调用方式_cdecl是C/C++的缺省调用方式,参数采用从右到左的压栈方式,传送参数的内存栈由调用者维护。_cedcl约定的函数只能被C/C++调用,每一个调用它的函数都包含清空堆栈的代码,所以产生的可执行文件大小会比调用_stdcall函数的大。由于_cdecl调用方式的参数内存栈由调用者维护,所以变长参数的函数能(也只能)使用这种调用约定。相应的代码实例见网盘:附:几乎我们写的每一个WINDOWSAPI函数都是__stdcall类型的,为什么??首先,我们谈一下两者之间的区别:WINDOWS的函数调用时需要用到栈(STACK,一种先入后出的存储结构)。当函数调用完成后,栈需要清除,这里就是问题的关键,如何清除??如果我们的函数使用了_cdecl,那么栈的清除工作是由调用者,用COM的术语来讲就是客户来完成的。这样带来了一个棘手的问题,不同的编译器产生栈的方式不尽相同,那么调用者能否正常的完成清除工作呢?答案是不能。如果使用__stdcall,上面的问题就解决了,函数自己解决清除工作。所以,在跨(开发)平台的调用中,我们都使用__stdcall(虽然有时是以WINAPI的样子出现)。那么为什么还需要_cdecl呢?当我们遇到这样的函数如fprintf()它的参数是可变的,不定长的,被调用者事先无法知道参数的长度,事后的清除工作也无法正常的进行,因此,这种情况我们只能使用_cdecl。到这里我们有一个结论,如果你的程序中没有涉及可变参数,最好使用__stdcall关键字

C语言函数调用

函数是一个独立的程序段,它执行具体的,明确的任务。也就是说函数是我们预先编写好的一段处理某个具体问题的代码。这样复杂的问题就会变得简单~~

C语言中我们通常会使用函数来执行一系列指令。一次函数调用将在一个程序内的任何一个给定点上执行一系列指令。函数可以根据需要被多次调用。如果一个程序中会多次的执行同一个任务,那么函数的使用将会大大的减少程序的代码量,而且包含函数的程序还便于维护和修改程序,因为我们只需要修改函数就可以对程序中的多处进行修改了。

函数有时有返回值 有时可以没有返回值(只做一些操作 不返回)

你问题具体点就更好回答了

C语言如何调用函数

C语言中,函数调用的一般形式为:

函数名(实际参数表)

对无参函数调用时则无实际参数表。实际参数表中的参数可以是常数、变量或其它构造类型数据及表达式。各实参之间用逗号分隔。

#includestdio.h

int fun(int x, int y); // 函数声明,如果函数写在被调用处之前,可以不用声明

void main()

{

int a=1, b=2, c;

c = fun(a, b); // 函数的调用,调用自定义函数fun,其中a,b为实际参数,传递给被调用函数的输入值

}

// 自定义函数fun

int fun(int x, int y)  // 函数首部

{  // {}中的语言为函数体

return xy ? x : y;  // 返回x和y中较大的一个数

}

扩展资料

C语言中不允许作嵌套的函数定义。因此各函数之间是平行的,不存在上一级函数和下一级函数的问题。但是C语言允许在一个函数的定义中出现对另一个函数的调用。

这样就出现了函数的嵌套调用。即在被调函数中又调用其它函数。这与其它语言的子程序嵌套的情形是类似的。其关系可表示如图。

图表示了两层嵌套的情形。其执行过程是:执行main函数中调用a函数的语句时,即转去执行a函数,在a函数中调用b 函数时,又转去执行b函数,b函数执行完毕返回a函数的断点继续执行,a函数执行完毕返回main函数的断点继续执行。

参考资料:函数调用_百度百科

C语言函数的调用

函数fun(int a,int b)仅仅是完成了形参a和b的交换,

交换的结果并不改变实参c[i]和c[i+1],作如下修改

#includestdio.h

void fun(int *a,int *b)

{

int t ;

t=*a;*a=*b;*b=t;

}

main()

{

int c[10]={1,2,3,4,5,6,7,8,9,0},i;

for(i=0;i10;i+=2) fun(c[i],c[i+1]);

for(i=0;i10;i++) printf("%d",c[i]);

printf("\n");

}

C语言的函数调用规则

请问C语言函数的调用规则是什么,例如主函数main、 函数A 、函数B,这3者的顺序能否打乱,

可以打乱,依个人习惯。

如果 A函数放最前,能否直接调用B函数?还是只能后面的函数调用前面的函数,还是说只要在A函数中声明B函数就能够调用后面的B函数。?

A调B,或B调A都可以,如果B在A后,B可直接调用A,否则,先在B前声明一下A再调用A。

main函数的有没有固定的位置,例如要放最前面?或最后面?

没有要求,一般单独一个C文件放main函数。

我需要程序调用这一部分的 语法描述图,因为规则不是固定,所以画起来有点难度,有没人能提供 程序调用的语法描述图 就是类似 void ---- ident----(----)----{----语句…… 这样的图。加分加分!!

不明白,写两个简单函数实验一下就知道了,这样印象会深刻点不容易忘。