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语句

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

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------学习记录,都是基本知识------------------------------------------------------------------------ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
  • 相关阅读:
    【数据结构第二周】队列知识点整理
    【数据结构第二周】堆栈知识点整理
    【数据结构第二周】线性表知识点整理
    【数据结构第一周】最大子列和问题整理
    网络设置
    QT 安装教程
    C# 复制粘贴板 多行粘贴
    设置网络适配器IP优先级
    MySQL 查重复单号和删重复单号
    Mysql 10053 SocketException 你的主机中的软件中止了一个已建立的连接。
  • 原文地址:https://www.cnblogs.com/hugue/p/5008667.html
Copyright © 2011-2022 走看看