array,pointer and reference

来源:互联网 发布:淘宝订单编号前13位 编辑:程序博客网 时间:2024/05/29 13:31

指针

什么是指针呢?
指针是c语言中很关键的一个概念。下面我举例子说明一下:
假设你是xx公司的经理,你的名字叫王明,你还有小名叫小王。
那么,你就可以用下面的表达式来表示:
经理 王明;
那么,指针怎么定义呢?
经理 xx公司
指针的类型是经理,指针存储的内容是你们公司的名字。那么这个其实说的就是你。当然,你们公司的经理可能还会换成别人。但是说到xx公司的经理,就是指某一个人的。
当然如果改变指针里面存储的内容为:
经理 A公司
那么这个指针就一直和A公司的经理职位的人挂钩了。

引用

下面说说reference.

所谓的引用就是别名。拿上面的例子为例:
经理 小王(王明)
上面两个其实是一回事。说得都是你本人。引用就是给你起了个外号,它只能指你,不能指别人。每次定义一个引用,你都必须指名它是谁的外号,如果不指名的话就没法定义引用。
引用在内存中是没有单独分配空间的。即我定义小王这个引用的时候,我不分配空间来存储,我只是把它和王明关联起来。每次使用小王就是指的的王明。

数组

那么什么是数组呢
定义数组A如下:
N = 10
经理 A [N]
表示A包含N个经理的空位。里面可能已经有一部分空位已经被占了。
{小王, 小李, 小苏}
数组A的含义是:小王,小李,小苏都是经理。

那么数组和指针有什么不同呢:
数组是一个固定的值,它虽然具有指针地址的特性,但是它相当于是一个const的指针,而无法像指针一般作为左值(left value).

以上内容是个人粗浅描述,仅供娱乐。

0 0
原创粉丝点击