结构程序~全局变量

Posted lijianmin6

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了结构程序~全局变量相关的知识,希望对你有一定的参考价值。

/*全局变量
没有做初始化的全局变量会得到0值
    指针会得到NULL值
只能用编译时刻已知的值来初始化全局变量
它们的初始化发生在main函数之前
*/
/*方一:
    int gall=12;
    int g2=gall;    不可以
方二:
    const gall=12;
    int g2=gall;     可以
方三:
    int g2=gall;
    const gall= 12;   不可以
*/
/*
#include<stdio.h>
int f(void);
int gall =12;

int main(int argc,char const *argv[])
{
    printf("in  gall=%d ",gall);
    f();
    printf("agn  gall=%d ",gall);
    return 0;
}

int f(void)
{
    printf("in  gall=%d ",gall);
    gall +=2;
    printf("agn  gall=%d ",gall);
    return gall;
}

in  gall=12
in  gall=12
agn  gall=14
agn  gall=14
*/

//被隐藏的全局变量
//如果函数内部存在与全局变量同名的变量,则全局变量被隐藏
//在更小的地方,可以命名与大局变量同名的变量,大局变量被隐藏

/*    静态本地变量
静态本地变量实际上是特殊的全局变量
它们位于相同的内存区域
静态本地变量具有全局的生存期,函数内的局部作用域
*/






















































以上是关于结构程序~全局变量的主要内容,如果未能解决你的问题,请参考以下文章

全局变量局部变量静态全局变量静态局部变量在内存里的区别

局部变量 全局变量和存储属性

FORTRAN中如何定义全局变量

Keil中C语言模块化编程时全局变量、结构体处理细节

C语言之程序结构

请问C中结构体变量为全局变量或静态变量时才能初始化么?