C语言--关于指针和解引用的几个知识点

1.什么是指针?

指针是编程语言中的一个对象,利用地址,他的值直接指向存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“指针”。指针形式由type和*决定。

2.为什么要存在指针

存在指针是为了更方便的定位内存中的某个位置,利于操作。

3.下面澄清几个名词

指针为地址,其大小由电脑是几位决定的。指针大小在32位平台上是4个字节;在64位上是8个字节。

指针变量为变量,指针相当于对变量作一个修饰限定。

变量指针为变量的指针,这里变量相当于一个修饰限定,指针为主语,所以指针变量本质为指针。

4.32位电脑和64位电脑产生地址的不同

对于32位的机器,有32根地址线,假设每根地址线在寻址的是产生一个电信号(0或者1),那么32根地址线产生的地址会是2的32次方个地址,每个人地址标示一个字节,那我们就可以给4G空间进行编址。64位机器与32位原理相同,得到4G*4G的空间进行编址。

5.指针类型决定性作用

指针的类型决定了看问题是应该分配几个字节,同时也决定了解引用时能操作几个字节。如p+1,若p位int型则+1向后走4个字节,而若p为char型+1向后走1个字节

6.对于二级以上的指针+1都为字节+4(因为存放的是一级指针的地址,而一级指针占4个字节(32位电脑))

7.关于左值和右值

做左值时使用其空间,做右值时使用其内容。

8.指针运算

通常若两指针指向同一数组(字符串),则两指针相减代表两指针间的元素个数(有正负大小之分)。如若定义一个整型数组a[10],则a[6]-a[4]为1而a[4]-a[6]为-1。

9.标准规定

允许指向数组元素的指针与指向数组最后一个元素后面的那个内存位置的指针比较,但是不允许与指向第一个元素之前的那个内存位置的指针进行比较。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值