zoukankan      html  css  js  c++  java
  • C语言变量:名称、地址和值

    变量的名称、地址和变量的值之间关系密切。

    我们可以认为变量有两个属性:名称和值(其他属性暂不讨论);

    计算机编译和加载后也认为变量有两个属性:地址和值。地址就是变量在计算机内部的名称。

     

    许多语言中地址都归计算机管,对程序员隐藏。

    但是在C当中,可以通过&运算符访问地址,通过*运算符获取地址上的值。

    例如:&barn表示变量barn的地址。使用变量名即可获得变量的值。

    使用*运算符可以获得地址上的值;

    例如:

    1 int barn =1; 
    2 int val;
    3 int * pbarn; //声明了一个指向int变量的指针
    4 pbarn = &barn;  //告诉指针pbarn指向谁;
    5 val = *pbarn;  //将指针所指的变量的值赋值给val

    指针的本质也是变量,叫做指针变量,这个特殊变量的存的值是地址。

     

    简而言之,普通变量把值作为基本量,把地址作为通过&运算符获得的派生量

    而指针变量把地址作为基本量,把值作为通过*运算符获得的派生量;

     

    *运算符也叫做间接运算符

    之所以叫间接运算符,其实上面代码的3-5行实现的效果等效于 val = barn;

    所以是间接实现了赋值,于是这个运算符就叫间接运算符。

     

    所以说&、*和指针可以操纵地址和地址上的内容。

     

  • 相关阅读:
    LeetCode 773. Sliding Puzzle
    oracle latch工作原理
    Oracle关于锁的几种类型和参数
    Java的反射机制
    JAVA多线程与并发学习总结
    Spring 概念详解
    Spring的AOP
    spring面试题 对DI , AOP概念的理解
    双11的架构
    Java线程的定义
  • 原文地址:https://www.cnblogs.com/grooovvve/p/9871884.html
Copyright © 2011-2022 走看看