c语言在函数外定义变量吗 c++函数外的变量

C语言中的变量可以在使用之前任何位置进行定义吗

全局变量,可以在函数外任何位置定义。

成都创新互联长期为上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为通河企业提供专业的成都网站制作、成都做网站、外贸营销网站建设通河网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。

局部变量的合法定义位置,依赖于编译器遵循的C规范版本。

1、仅支持C89规范的编译器,只支持在作用域起始部分定义变量。

比如:

void func(void)

{

int a=1;//函数体起始位置。

if(a0)//其实这个判断没有意义,仅为提供样例。

{

int b=2;//判断部分{}的起始位置。

printf("%d\n",b);

}

}

如果写成

void func(void)

{

int a;//第一个定义,合法。

a=1;//执行一个语句。

int b;//这个定义不在作用域起始处,编译会报错。 

}

二、支持C99或者部分支持C99的编译器:

局部变量可以定义在任何位置。

之前的第二个例子中的定义方式,在这种编译器下是合法的。

甚至部分支持C99全面的编译器,支持

for(int a=0; a100; a++)

在for中定义变量。 

三、目前大多数编译器,均支持任何位置定义变量,但仅有少部分支持for中定义变量,所以在编码时,不建议for中定义,会降低可移植性。

请教高手,C语言中,把变量定义在主函数之外和定义在主函数之内有什么区别?

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

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

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

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

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

扩展资料:

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

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

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

局部变量(Local

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

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

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

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

C语言中在函数外部声明的变量是什么变量

在函数外部声明的为全局变量.

带static的是静态全局变量, 作用域为当前文件.

不带static的是全局变量, 作用域为整个程序.

所有全局变量的生命周期都是整个程序运行


网站题目:c语言在函数外定义变量吗 c++函数外的变量
分享链接:http://pwwzsj.com/article/hjdsjc.html