指针浅析-C语言

本文详细介绍了C语言中的指针概念,包括指针的类型、指针与数组的关系、二级指针以及指针的运算规则,如指针±整数、指针的关系运算,并强调了指针运算的条件和注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

指针

指针是指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“指针”。意思是通过它能找到以它为地址的内存单元。
指针是变量,存放内存单元的地址(编号),地址是唯一标示一块地址空间的。。
在32位的机器上,地址是32个0或者1组成二进制序列,地址需要4个字节的空间来存储,所以一个指针
变量的大小是4个字节。
在64位机器上,有64个地址线,一个指针变量的大小8个字节。
指针的大小在32位平台是4个字节,在64位平台是8个字节。

指针的类型

指针的类型决定了该指针进行解引用操作时所访问的字节数/空间(指针的权限)。
指针的类型决定了指针+1-1/向前或向后走一步时的距离有多大,即跳过的字节数(指针的步长)。

指针与数组名

数组名表示的是数组首元素的地址。
可以把数组名当成地址存放到一个指针中,并使用这个指针来访问这个数组。

二级指针

二级指针是存放指针的地址的指针变量,即指向指针的指针。

指针数组

指针数组是存放指针的数组。

指针的运算

指针±整数

指针向前或向后移动一定的距离。
计算之后结果仍然为一个指针。

指针-指针

指针+指针是非法的,会编译报错。
指针-指针首先计算出两个指针的间隔数,然后再除以调整的权重(即数组元素类型的大小),得出的整数即为指针-指针的值。
只有当两个指针指向同一个数组中的元素时,才允许一个指针减去另一个指针。

指针的关系运算

只有当两个指针指向同一个数组中的元素时,才能进行关系运算。
当指针p和指针q指向同一数组中的元素时,则:
p<q,当p所指的元素在q所指的元素之前时,表达式的值为1,反之为0。
P>q,当p所指的元素在q所指的元素之后时,表达式的值为1,反之为0。
p==q,当p和q指向同一元素时,表达式的值为1,反之为0。
p!=q,当p和q不指向同一元素时,表达式的值为1,反之为0。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值