zoukankan      html  css  js  c++  java
  • 作用域

    作用域 ---- 文件作用域、函数作用域、代码块作用域、原型作用域

      1.代码块作用域:以大括号包括的所有语句为一个代码块

        大括号外面无法访问大括号里面定义的标识符

        若大括号里面有和外面同名的标识符,则外面的该标识符在大括号里面无法访问

    int i = 0;
    {
        int i = 1;
        int j = 2;        
        printf("%d
    ",i);    //输出1
    }
    printf("%d
    ",i);      //输出0
    printf("%d
    ",j);     //错误

        不同语句块中的变量不能相互访问

    {
        int j = 0;
    }
    {
        int i = 1;
        printf("%d
    ",j);    //错误
    }

      2.文件作用域

        不在任何代码块声明的变量、函数从声明处到文件末尾都可以访问,这样的标识符具有文件作用域。

        #include包含的也具有文件作用域

      3.原型作用域(prototype scope):只适用于在函数原型中声明的参数名

        唯一可能的冲突是同一个原型中声明两次同名变量

    int fun(int i,int j);   //不能在一个原型中声明同名形参

      4.函数作用域

        只适用与语句标签,语句标签用于goto语句

        即一个函数的所有语句标签必须唯一

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------学习记录,都是基本知识------------------------------------------------------------------------ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
  • 相关阅读:
    Directx11教程(6) 画一个简单的三角形(2)
    Zorder curve
    SmartGit 3.0.10 发布,图形化 Git 客户端
    PostgreSQL 全系版本更新,强烈要求升级!
    高保真PDF至HTML转换 pdf2htmlEX
    使用 pygit2 创建提交
    NetBSD 6.0 RC2 发布
    pyinstall 安装及配置
    Python for .NET
    Kundera 2.1 发布,NoSQL 的 ORM 框架
  • 原文地址:https://www.cnblogs.com/hugue/p/5008667.html
Copyright © 2011-2022 走看看