c++在主函数中定义的变量能在调用函数中起作用吗

假如我要在主函数中调用一个函数,我定义一个变量,它的作用范围能到这个被调用函数中吗?还有函数声明一定要在所有语句外吗,在主函数里也不行?
我在主函数中定义的变量,在主函数中嵌套调用另一个函数,这个变量作用域无法到达另一个函数?

第一个:你定义的变量必须是全局变量
第二个:不能在主函数里定义函数,可以声明; 如果函数定义在主函数前,就不用在主函数里声明函数。
是的,如果你在主函数里定义的不是全局变量,在你自主定义的函数里那个变量是不可见的。也就是无作用域
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-09-16
和下面的函数的不能是一个样的··
void swap(int p1,int p2)
{int p;
p=p1;
p1=p2;
p2=p;}
只是交换了值而已。。。
同你的那个,只是交换了p1、p2所代表的地址而已,真正的地址不会因此交换的。。
正道还是以改变实参指针变量所指变量的值 。。没办法。。
void swap(int *p1,int *p2)
{int p;
p=*p1;
*p1=*p2;
*p2=p;}
是C++的话,引用是很好的选择。。
void swap(int p1,int p2)
{int p;
p=p1;
p1=p2;
p2=p;}
第2个回答  2010-09-11
其实是可以的,你只需要将那个变量传递到你的函数中区就行了。
定义函数方法:
返回值类型 函数名(形参类型 形参)
{
函数主体;
}

调用方法:
函数名(实参);

例如下面返回两个数中较大值的函数:
int Max(int a,int b)
{
return a>b? a:b;
}

调用时,只需要写成
int t=Max(m,n);
m,n是两个自定义的int型变量,t是m,n中的较大值本回答被网友采纳
第3个回答  2010-09-11
函数内定义的变量叫做局部变量,生存周期一直到函数执行完毕。

你可以用全局变量解决这个问题。
在函数外定义~
第4个回答  2010-09-11
一楼就是答案。你调试一下或者翻一下书不就有了?

c++中在函数内部定义的变量可以在函数之外引用吗?
这个是肯定不可以的,如果你要到其他函数里用,就要用函数传递来转换

在一个函数中定义了一个变量,如何在另一个函数使用这个变量
C\/C++中,函数体内定义的变量具有函数作用域,无法在外部使用这个变量本身。由于这种定义式在栈内存分配空间,变量一旦被创建,函数结束后就会被自动销毁,因此也称为自动(auto)变量。如果要在多个函数中共享变量,那么可以使用作用域为全局\/编译单元的静态变量。这些变量定义后,在进程开始时自动创建,进程结...

为什么在写单片机程序的时候,主函数声明的变量无效?
变量定义放错位置了,c语言要求变量的定义在赋值或有实际意义的语句之前,你放在调用setting()函数之后肯定是错的。C++才支持随意为之定义。

C++ 类里面的函数可以调用主函数里面的参数
那当然不行 类里面的公共函数public 也只能类里使用但可以在MAIN里调用 MAIN 里的函数 作用域只是在MAIN 函数内部 在MAIN 外部 就不是作用域了 所以不能使用

C++中在头文件里定义的变量的作用范围是什么?
其中= init_value部分可以省略。等效于在每个引用该头文件的源文件中,定义一个变量名为var, 类型为TYPE的静态全局变量。每个文件中的var变量均归属于本源文件,各文件中的互不相同。作用域为引用头文件的源文件范围内。2 在头文件中定义变量,但是不带初始化值。TYPE var;这种情况下,相当于定义了一...

主函数中定义的结构体怎样才能在主函数外的函数中使用
如果指的是在外函数中作为数据结构引用,那是做不到的,这是C\/C++的基本结构决定的,也是基本常识;因为主函数也是函数,在函数中定义的结构体是局部性质,只能在定义它的主函数中可见。如果是主函数调用的某个函数使用,那就把结构体当作实参传给被调函数就行了——但这不叫在外函数中使用,实质是...

c++中怎样定义变量,使之在类和主函数,普通函数等都可以使用
要在类中能使用,就得定义public成员变量,主函数和普通函数能使用的变量,在主函数和普通函数前定义就可以了。。

c++中函数内部定义了与外部同名的变量,怎么在函数内部引用该同名全局...
引用可见性范围内的,作用域范围最小的变量,即:int x;void f(){{int x;x=1;\/\/引用局部变量x::x=2;\/\/引用全局变来那个x}x=3;\/\/引用全局变量x}

c++中,主函数中new出来了一个类对象,请问在其他的子函数中可以直接使用...
1、你的说法是不可以的。从某种意义上来讲主函数和其他子函数的地位是相同的,如果其他函数直接使用某一个变量可以在主函数之外定义全局变量,这样其他函数可以直接使用了。2、楼下的说法是对的。虽然定义了局部变量,但是以形参的形式传入子函数,子函数可以对其实现相应的操纵。希望,我的回答能够帮助你...

C++ 怎么定义数组,才使所有调用函数都可用
定义成全局变量。全局变量是定义在函数体外的变量,拥有全局作用域。注意,全局变量如果没有初始化会执行默认初始化,特别地,如果是内置类型会初始化为0。样例程序:include <iostream>using std::cout;using std::endl;int foo;int bar = 1;void inc() {++bar;} int main(){ cout << f...

相似回答