zoukankan      html  css  js  c++  java
  • 程序结构之全局变量

    全局变量定义:

    • 定义在函数外的变量是全局变量

    • 全局变量具有全局的生存期和作用域

      • 它们与任何函数都无关

      • 在任何函数内部都可以使用

    全局变量初始化:

    • 没有做初始化的全局变量会得到 0 值 (局部变量会得到随机值)

      • 指针会得到NULL
    • 只能用编译时刻已知的值来初始化全局变量

    • 它们的初始化发生在main函数之前

    被隐藏的全局变量:

    • 如果函数内部存在与全局变量同名的变量,则全局变量被隐藏

    实例:

    #include <stdio.h>
    
    int f(void);
    
    int gAll = 12;

    //int gAll = f(); 用编译时刻未知的值初始化,编译不能通过
    int main(int argc,char const *argv[]) { printf("in %s gAll=%d ",__func__,gAll); // __func__ 指的是当前函数名称 f(); printf("again in %s gAll=%d ",__func__,gAll); return 0; } int f(void) { int gAll = 1; printf("in %s gAll=%d ",__func__,gAll); gAll += 2; printf("again in %s gAll=%d ",__func__,gAll); return gAll; }

    运行结果:

    in main gAll=12
    in f gAll=1
    again in f gAll=3
    again in main gAll=12
  • 相关阅读:
    Node入门--事件模块
    Node入门--1--module&require
    Node入门--1-->Hello World
    文件上传(StringMVC)
    StringMVC
    Spring基础
    手动添加日期到mysql数据库
    aspectj 注解
    HandlerMapping执行过程。。。
    在考试我打
  • 原文地址:https://www.cnblogs.com/songbeyond/p/12505162.html
Copyright © 2011-2022 走看看