• main函数外面不能赋值


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

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

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

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

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

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

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

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

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

  • 相关阅读:
    XML节点处理
    Log4Net使用记录
    WPF选择文件夹及文件操作
    SQL 一些语句记录
    一篇MSSQL事务的测试文章
    游标示例
    WPF实现多线程加载数据
    MS SQL索引学习
    Entity Framework 利用 Database.SqlQuery<T> 执行存储过程,并返回Output参数值
    手持移动端特殊链接:打电话,发短信,发邮件
  • 原文地址:https://www.cnblogs.com/lvpblog/p/2539813.html
Copyright © 2020-2023  润新知