zoukankan      html  css  js  c++  java
  • 【c++】变量的声明和定义

    变量的定义:给变量分配空间,还可以为变量指定初始值。不能重复定义变量

    int j; //变量的定义,
    int k; //变量的定义,分配内存,初始化
    extern int n = 10;//变量的定义,初始化(建议不要使用此方法定义)

    变量的声明:不给变量分配空间,用于向程序表名变量的类型和名字,此变量在其它cpp中已经定义,变量可以多次声明。
    事实上,它只是说明变量定义在程序的其他地方定义过。

    extern int i; //变量的声明

    定义也是声明,在一个源文件中,定义后的变量,不需要再声明

    声明不是定义,必须在当前或者其他cpp中对变量进行定义,之后才能声明
    在使用变量之前必须定义或声明变量。


     程序含有两个源文件,在一个源文件中定义并初始化,在另一个源文件中声明,并打印输出:

    Test-007.cpp:

    #include<iostream>
    using namespace  std;
    
    int i = 100; //变量定义,给变量分配空间

    Test-001.cpp:

    #include<iostream>
    using namespace  std;
    
    extern int i;
    int main()
    {
        cout << i << endl; 
        
        cin.get();
        return 0;
    }


     程序可以多次声明:

    #include<iostream>
    using namespace  std;
    
    extern int i;
    extern int i;//再一次声明也可以
    int main()
    {
        cout << i << endl; 
        
        cin.get();
        return 0;
    }

    程序不能重复定义:

    int i = 100; //变量定义,给变量分配空间
    int i = 100; //不能重复定义


     在另一个源文件中定义,在当前文件下声明后。不能再重复定义。

    #include<iostream>
    using namespace  std;
    
    extern int i;
    int i = 200;
    int main()
    {
        cout << i << endl; 
        
        cin.get();
        return 0;
    }


  • 相关阅读:
    linux系统中sed命令删除指定行后的下一行
    linux系统中删除文件的最后几行
    linux系统中sed命令删除指定行及其后的若干行
    linux系统中sed命令整行替换
    linux系统中sed命令在指定行前(后)插入内容
    CVE-2010-3333-office RTF栈溢出漏洞分析
    BM 算法
    HDFS 的 API 操作
    linux 服务器使用百度网盘
    linux 下配置java JDK1.8
  • 原文地址:https://www.cnblogs.com/KMould/p/15049977.html
Copyright © 2011-2022 走看看