C语言中,如何定义一个变量,使其既可以在主函数中使用,也可以在子函数中使用

即在主函数和子函数中,他们的存储空间是一致的

把变量定义在主函数之外,即把变量设置为全局的。
一般我们都把变量的定义放在函数中,因此变量的范围就是在本函数中。可是如果定义在所有函数的外面,这样所有的函数中,都可以使用本变量。
你可以试一下这个程序。定义一个全局变量a,在主函数中进行赋值,然后在子函数中进行输出,结果是5.

#include<stdio.h>

int a;

void func();//函数声明

int main()
{

a=5;
func();
}

void func()
{
printf("%d\n", a);
}

+++++++++++++++++++++++++++++++++++++++++++++++++++
当然,除了定义全局变量这个方法,还有其他的方法,那就是指针。在子函数的参数中传递变量的地址,依然可以使用该变量,依然能够改变该变量的值。因为主函数和子函数的变量共用的是同一个地址的变量,因此,不管在哪个函数中对变量进行操作,都会影响变量。

比如下面这个程序,在主函数中a的值为5,将变量a的地址传递过去,子函数将该地址中的变量的值设置为3,然后主函数输出,结果却是3.

#include<stdio.h>

void func(int *b);//函数声明

int main()
{

int a=5;
func(&a);//把变量a的地址传递过去
printf("%d\n", a);
}

void func(int *b)
{
*b=3; //将地址b中变量的值设置为3
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-06-14

需要准备的工具:电脑。

1、首先双击鼠标打开用于数据库管理的“企业管理器”。

2、点击展开需要进行查询操作的表。

3、点击工具,找到数据查询分析器选项。

4、在“查询”窗口中,开始输入代码。

5、代码如下:declare @Id intset @Id = 672;select * from users where id=@Id。

6、点击运行按钮即可。

本回答被网友采纳
第2个回答  2012-03-25
使用全局变量即可。。
第3个回答  2012-03-25
在所有的函数之前定义变量,即全局变量:int A ; 这个变量A在之后的都可以用,不过我在这里我要提醒你,如果在某个函数中A的值变了,之后的A值都变,但是之前的不变,so,c语言不提倡多用全局变量!本回答被提问者采纳
第4个回答  2012-03-25
#define PI 3.1415

C语言中,如何定义一个变量,使其既可以在主函数中使用,也可以在子函数中...
回答:把变量定义在主函数之外,即把变量设置为全局的。一般我们都把变量的定义放在函数中,因此变量的范围就是在本函数中。可是如果定义在所有函数的外面,这样所有的函数中,都可以使用本变量。你可以试一下这个程序。定义一个全局变量a,在主函数中进行赋值,然后在子函数中进行输出,结果是5.#include<...

C语言中,如何定义一个变量,使其既可以在主函数中使用,也可以在子函数中...
如果外部变量不在文件的开头定义,其有效的作用范围只能从定义点到文件结束。如果在定义点之前的函数想引用该外部变量,则应该在应用之前用关键字extern对该变量作‘外部变量声明’。表示该变量是一个已经定义了的外部变量。有了此声明,就可以从声明处起,合法的调用该外部变量。

C语言怎样声明一个变量,使得它的作用域为整个函数,以及在该函数内调用...
这个程序中,定义了全局变量a和b之后,在main函数和sort函数中不用定义a和b,也可以使用!

C语言基础教程 之 如何定义变量!
在C语言中,定义变量是编程的首要步骤之一。定义变量即向编译器说明在何处以及如何创建变量存储。定义包括选择一个数据类型,并列出该类型的一个或多个变量名称。数据类型可以是char、w_char、int、float、double等,多个变量名之间用逗号分隔。例如:行 int i, j, k; 定义了变量 i、j 和 k,并指...

C语言变量的定义与使用
变量的定义与使用 1. 选择合适的类型 定义变量时,应选择恰当的类型,因为变量的类型决定了其数据取值范围。这类似于选择合适的容器来存储数据,合适的类型不仅能确保数据存储的安全,还能有效节约系统资源。2. 明确作用范围 C语言的基本功能单元是函数。在函数内部定义的变量是局部变量,仅能在函数内部使用...

c语言如何让子函数调用主函数的变量
程序启动时首先加载并进入主函数。为了子函数具有意义,它通常需要直接或间接通过主函数进行调用。这时,子函数反而调用主函数,将引发递归调用。如果调用过程不附加其他限制条件,很可能导致无限递归,从而致使程序崩溃。因此,我建议避免在子函数中调用主函数。希望这一解答能对您有所帮助。

C语言中如何把结构体变量定义在主函数内,再调用一个自定义输入函数和输...
可以在外部定义结构体类型,然后在主函数内部定义该类型的变量。在输入输出函数调用时,以结构体变量指针做为参数传递。参考代码如下:include <stdio.h>struct test{ int a;};\/\/定义结构体类型struct test。void input(struct test* p)\/\/输入函数,以指针作为参数。{ scanf("%d",&p->a);}...

c语言中如何在子函数中调用主体函数的结构数组
有两种方式:1.将结构体声明为全局变量 2.将改结构体作为参数传给子函数,这样子函数就可以使用该结构体了

c语言中主函数中定义的变量,调用函数里还需要再定义吗?
C语言中主函数中定义的变量只能在主函数中使用,所以你还得再定义一个变量。当然,捏可以把主函数中定义的这个变量传递给被调用的函数作为参数。例如 void fun(int x){ } main(){ int num=9;fun(9);} 但是如果你要在被调用函数中使用这个变量例如 fun(){ num++;} 像这样,就是错的,编译...

C语言变量的定义与使用
第二、变量的作用范围必须清楚,C语言最基本的功能单元是函数,在函数内部使用的变量是私有变量,只能在函数内部使用。多个函数组成一个程序的功能模块,并安置在某一个C文件中,在这些函数的头部定义的变量是静态变量(局部变量),这种类型的变量模块内部的函数都可以访问。如果在模块内部声明变量,并在该...

相似回答