zoukankan      html  css  js  c++  java
  • main函数外面不能赋值

    无聊的时候也会发现问题的.

    弄了一年,才发现 在main()外面不能赋值,刚开始,还以为是我编译器有问题.

    试了几次才知道, 在main()外面确实 是不能赋值的. 以下是在网上搜到的理由.

    //-----------------------------------

    main函数之前是用来声明和定义全局变量和函数的,并由编译器进行预处理,给那些全局变量和定义的函数分配内存和地址,不能设计可执行代码。 

    编译器在编译阶段对main函数之前的全局变量进行内存分配,对定义的函数生成可执行的代码,并保留该函数的地址以供main函数调用,而赋值语句操作是一句可执行代码,又没有类似函数指针的东西供main函数调用,所以只能放在main函数内部进行顺序执行。
      

    在多文件组织中,只有在包含main函数的源文件里面的main函数内部才能对变量进行赋值语句的操作,而其它不包含main的源文件这不能进行变量的赋值操作,只能进行变量的声明。

    但并不是说在main函数之前就不能对变量进行初始化赋值:可以在定义变量的时候对变量进行初始化赋值。如下:
      int a=10;
      student s1={10};

    虽说可以在初始化时赋值,但是如果是个自定义类,在main()外面还是不能赋值.  只有基本类型在初始化时可以赋值.

  • 相关阅读:
    软件包管理(rpm&yum)
    文本处理三剑客之sed
    压缩归档tar
    linux文件查找find
    vim编辑器
    正则表达式
    文本处理三剑客之grep
    常用文本处理、统计工具
    文件权限管理
    用户和组管理
  • 原文地址:https://www.cnblogs.com/lvpblog/p/2539813.html
Copyright © 2011-2022 走看看