C语言 过程中调用主函数变量

C语言 过程中调用主函数变量,第1张

可以的,但最好提供长度参数,并且不要用0判断是否有效数字(因为0本身可能就是有效数字)

#include <stdio.h>

#include <malloc.h>

#include <memory.h>

int f(int* a,int l,int n,int i) /竖扒/a:源数组 l:a有效数字长度,n:插悉激入的数字,i,位置

{

int *b=(int*)malloc(sizeof(int)*(l-i-1))//临时数组b

memcpy(b,a+i,(l-i-1)*sizeof(int)) //把&a[i]开始的数据复制到b

a[i]=n

memcpy(a+i+1,b,(l-i-1)*sizeof(int))//复制回来

free(b)

return 0

}

int main()

{

int a[9]={1,2,3,4,5}

int i

f(a,6,8,2) //可以用各种办法获得第二个参数,或者直接就给数组的总长度

for(i=0i<6i++)

{

printf("余陆昌%d ",a[i])

}

return 0

}

#include

int

b

=

2

//

b是全局变量

int

fun(int

*k)

{

b

=

*k

+

b

//

全局变量b的值被更改

return(b)

//

返回改变后的全局变量的值

}

int

main()

{

int

a[10]

=

{1,2,3,4,5,6,7,8},i

for(i

=

2i

<

4i++)

{

//

用a[2](=

3)和a[3](=

4)两衡槐态次调用函数fun()

b

=

fun(&a[i])

+

b//

第一次调用前,b

=

2,调用后,b

=

5

+

5

=

10

|第明旦二次调用前,b

=

10,调用咐源后,b

=

14

+

14

=

28

printf("%d",b)

//

第一次输出10

|第二次输出28

}

printf("\n")

return

0

}

两者的区别只在于作用域和生存周期。main函数是一个进程的入口,此外,和别的函数无区别。

1、main函数里定义的是局部变量,只是在main函数里有效。

2、如果程序里有多个函数,定义的全局变量在这些函数里都可以使用,而在main中定义的只能在main中使用,其他函数不可以直接调用。

3、题目中的两个程序的区别只在于程序一的a和s变量是全局变量,程序二的a和s变量是局部变量。

4、全局变量是程序的各个函数拿冲都可以调用的,而局部变量只在函数内部有效。

扩展资料:

全局变量是编程术语中的一种,源自于变量之分。

变量分为局部与全局,局部变量又可称之铅简为内部变量。由某对象或某个函数所创建的变量通常都是局部变量,只能被内部引用,而无法被其它对象或函数引用。

全局变量既可以是消激歼某对象函数创建,也可以是在本程序任何地方创建。全局变量是可以被本程序所有对象或函数引用。

局部变量(Local

variables)指在程序中只在特定过程或函数中可以访问的变量。局部变量是相对于全局变量而言的。在C++、C#、Ruby这些面向对象语言中,一般只使用局部变量。

面向对象编程是现在普遍采用的是软件开发方法,因此无需考虑是局部变量还是全局变量,说到变量,往往都是局部变量。

参考资料:百度百科-局部变量

参考资料:百度百科-全局变量


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/yw/12409898.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存