龙空技术网

C语言作用域

大懒水母 107

前言:

如今姐妹们对“c语言函数的功能是什么”都比较着重,你们都想要了解一些“c语言函数的功能是什么”的相关内容。那么小编也在网摘上收集了一些有关“c语言函数的功能是什么””的相关知识,希望同学们能喜欢,大家一起来学习一下吧!

C语言中作用域指的是程序中可以访问标识符的区域,作用域主要有以下几种

一、块作用域

块指的是用一对花括号括起来的代码区域。如fun函数中,花括号括起来就是块。

void fun(){

代码

}

块作用域的范围是从定义处到包含该定义的块的末尾。如fun函数中,变量a具有块作用域。

void fun(){

int a = 100;

}

在函数中定义形参,虽然形参在花括号之前,但形参也具有块作用域。如fun函数中,形参a和b都具有块作用域。

void fun(int a){

int b = 200;

}

在内层块中定义的变量,作用域仅在声明的块内

#include<stdio.h>int main(void){    int i;    for(i=0;i<10;i++){        int q = 200;    }    printf("%d",q);    return 0;}

在for循环中定义了变量q,q的作用域仅在for循环内,只有for循环中才可以使用变量q。如果采用示例中在for循环外部,打印for循环内定义的变量q会发生错误,变量未声明。

[Error] 'q' was not declared in this scope

二、函数作用域

C语言函数的作用域仅用于goto语句标签。

三、函数原型作用域

函数原型的作用域范围从形参定义处到原型声明结束。如

void fun(int a);

这个函数原型中变量a的作用域,开始于左括号”(”,结束于右括号”)”,不能用于层序的其他地方。因此函数原型中处理形参时只关注形参的类型,并不关注形参名是什么。

四、文件作用域

定义在函数之外的变量,具有文件作用域。如:

#include<stdio.h>int count = 100;int main(void){    int i;    for(i=0;i<10;i++){    int q = 200;    }    printf("%d",count);    return 0;}

在main函数之外定义了count变量,可在main函数中使用。

标签: #c语言函数的功能是什么 #c语言for循环中不能使用外部变量循环吗