zoukankan      html  css  js  c++  java
  • 定义、声明、初始化、赋值的区别

    变量声明:

    extern int a;//只声明一下这个变量,会在别处定义的

    变量定义:

    int a;//说明该变量在内存中的位置和大小,声明加定义

    变量初始化:

    int a = 7;//定义时给变量一个值

    变量赋值:

    a=2;//把变量原有的值擦除,重新给一个值

    C 中的左值(Lvalues)和右值(Rvalues)
    C 中有两种类型的表达式:
    左值(lvalue):指向内存位置的表达式被称为左值(lvalue)表达式。左值可以出现在赋值号的左边或右边。
    右值(rvalue):术语右值(rvalue)指的是存储在内存中某些地址的数值。右值是不能对其进行赋值的表达式,也就是说,右值可以出现在赋值号的右边,但不能出现在赋值号的左边。
    变量是左值,因此可以出现在赋值号的左边。数值型的字面值是右值,因此不能被赋值,不能出现在赋值号的左边。下面是一个有效的语句:

    int g = 20;

    但是下面这个就不是一个有效的语句,会生成编译时错误:

    10 = 20;
    初始化局部变量和全局变量
    当局部变量被定义时,系统不会对其初始化,您必须自行对其初始化。定义全局变量时,系统会自动对其初始化,如下所示:
    
    数据类型
    初始化默认值
    int                     0
    char                    ''
    float                   0
    double                  0
    pointer                 NULL

    正确地初始化变量是一个良好的编程习惯,否则有时候程序可能会产生意想不到的结果,因为未初始化的变量会导致一些在内存位置中已经可用的垃圾值。

  • 相关阅读:
    手工测试
    测试理论
    MySQL常用语法
    Linux设置静态ip
    设计模式
    Shiro
    TreeSet和TreeMap
    UDP和反射
    Linux归纳
    Spring+SpringMVC+Mybatis整合
  • 原文地址:https://www.cnblogs.com/sggggr/p/13570265.html
Copyright © 2011-2022 走看看