• 全局变量的声明与定义


    全局位置的注意点,就是在全局的位置是不能够写一些执行语句的,只能写一些全局变量的定义,并且初始化的话也只能用常量进行初始化

    int e=1;这就可以,所以在全局的这个位置,只能用常量进行初始化

    对于指针也一样,不要  int * p=(int *)malloc(4);  不可以,用一个变量都不可以,何况用一个函数。 

    另外,想在全局变量的位置 执行一个printf,打印一个 printf("asd"); 能不能打印???谁调用的它??

    所以,全局变量的位置》》》除了包含头文件这些预处理指令之外,这块能够写的东西就是全局变量,而且不要用变量初始化,也不能用函数初始化,只能用常量给全局变量初始化,另外全局的位置是不能写执行语句的,这块只认声明和变量的定义。

    接下来看全局变量的生命周期:

    与程序共存亡。

    int e 是在程序加载的时候分配的空间,在程序正式运行之前(在主函数main调用之前)分配的空间。当执行到int a的时候,上面的这些东西都已经分配好了。

    结束时 关闭程序/关闭软件,才会被释放掉。

    接下来说作用域:
    因为是全局变量,全局就是整个项目,所有的文件都认识这个 e。

     

    既然声明可以出现多个(int e;),那么一般的把全局变量的声明放在头文件里面,其他的文件一包含头文件就可以了,而定义(int e=12;)只能放在源文件中,定义如果放在头文件中,那么其他文件一包含,e就重定义了。所以全局变量的声明可以放在头文件里,全局变量的定义只能放在.c源文件中。

  • 相关阅读:
    ant-design-vue——子组件通过$parent修改父组件的值时无效问题及解决方法
    vue——quill-editor自定义图片上传
    ES6——var、let、const三者的区别
    js——数组/对象常用方法总结
    28.最长回文子序列
    27.马拉车
    26.扫雷一次点击
    JS添加内容之方法里传AJAX参数
    JQ 实现加载其他页面的H5代码 JQ加载H5独立导航栏代码
    CentOS 7不能上网 解决方法
  • 原文地址:https://www.cnblogs.com/dabing0983/p/10569958.html
Copyright © 2020-2023  润新知