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

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

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

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

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

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

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

例如:

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

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

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

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

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

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

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

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

C语言变量:名称、地址和值的更多相关文章

  1. Django 模板语言 变量名称

    Django 模板语言 变量名称 模板语言中已变量形式显示 # view 文件内 def func(request): return render(request,"index.html&q ...

  2. c语言变量名称与变量

    0x00030 , 0x00031 ,0x00032 ,0x00033 是四个字节,用来存放0x00010(字母a的地址)

  3. C语言变量名和地址的关系【转载】//基础的东西

    原文链接:http://blog.csdn.net/ssff1/archive/2009/12/13/4998787.aspx 变量名不占空间 变量:用来标识(identify)一块内存区域,这块区域 ...

  4. R语言:变量名称和字符串的转换

    R语言:变量名称和字符串的转换 2014-06-23 14:45:27         在R语言中,经常会遇到变量名称和字符串相互转换的问题.比如说,进行1000次循环运算,并将运算结果存储在1000 ...

  5. C语言根据结构体成员变量的地址,得到结构体的地址

    看nginx代码时发现双链表使用的是这种方法,记录一下 给出一个实例来说明 struct father_t {    int a;    char *b;    double c;}f;char *p ...

  6. 嵌入式-C语言基础:指针是存放变量的地址,那为什么要区分类型?

    指针是存放变量的地址,那为什么要区分类型?不能所有类型的变量都用一个类型吗?下面用一个例子来说明这个问题. #include<stdio.h> int main() { int a=0x1 ...

  7. Go 语言变量

    变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念.变量可以通过变量名访问. Go 语言变量名由字母.数字.下划线组成,其中首个字母不能为数字. 声明变量的一般形式是使用 var 关键字: ...

  8. GO语言学习(七)Go 语言变量

    Go 语言变量 变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念.变量可以通过变量名访问. Go 语言变量名由字母.数字.下划线组成,其中首个字母不能为数字. 声明变量的一般形式是使用 ...

  9. 06 C语言变量

    C语言变量 变量的本质 变量的本质其实是程序可操作的存储区的名称. C 中每个变量都有特定的类型,类型决定了变量存储的大小的范围,在范围内的值都可以存储在内存中,运算符可应用于变量上. 变量的名称可以 ...

随机推荐

  1. 监控和安全运维 1.4 nagios安装

    1. Nagios 简介是一个开源软件,可以监控网络设备网络流量.Linux/windows主机状态,甚至可以监控打印机它可以运行在Linux上或windows上基于浏览器的web界面方便运维人员查看 ...

  2. windows安装和配置JDK

    安装完JDK后配置环境变量  计算机→属性→高级系统设置→高级→环境变量   系统变量→新建 JAVA_HOME 变量 . 变量值填写jdk的安装目录(本人是 E:\Java\jdk1.7.0)   ...

  3. essential C++中关于面向过程和面向对象的说明

    昨天在阅读essential C++中看到了一个关于面向过程和面向对象的区别的例子,感觉挺好的.记录下来.... 这个例子是关于照相机的.照相机有三个性质,一个是控制位置:通常使用3个浮点数据来表示其 ...

  4. 杭电acm 1038题

    本题比较简单,但是需要掌握几个小技巧,先上代码 /************************************* 杭电ACM 1038题,已AC ********************* ...

  5. PCL—关键点检测(iss&Trajkovic)低层次点云处理

    博客转载自:http://www.cnblogs.com/ironstark/p/5069311.html 关键点检测往往需要和特征提取联合在一起,关键点检测的一个重要性质就是旋转不变性,也就是说,物 ...

  6. Amazon S3 云服务

    一.简介 Amazon Simple Storage Service (S3) 是一个公开的服务,Web 应用程序开发人员可以使用它存储数字资产,包括图片.视频.音乐和文档. S3 提供一个 REST ...

  7. ZROI2018普转提day2t1

    传送门 分析 我们通过仔细研究不难发现对于一次交换(i,i+1)的操作之后,在i之前的点就不可能跑到i之后,i+1之后的的点也不可能跑到i+1之前,所以这个序列在一次交换之后就相当于被分成了两个部分. ...

  8. 几种jar转exe方法的比较

    原摘自:https://blog.csdn.net/uikoo9/article/details/7458666 几种jar转exe方法的比较 2012年04月13日 17:33:07 阅读数:153 ...

  9. Entity Framework Tutorial Basics(2):What is Entity Framework?

    What is Entity Framework? Writing and managing ADO.Net code for data access is a tedious and monoton ...

  10. web.xml中url-pattern匹配规则.RP

      一.url-pattern的三种写法 精确匹配.以"/"开头,加上servlet名称. /ad 路径匹配.以"/"开头,加上通配符"*" ...