指针

本文详细解释了指针的基本概念及应用,包括变量地址、指针变量定义与使用、指针运算符、地址运算符的作用,以及指针与数组之间的关系。此外还介绍了通过不同方式获取指针的方法。

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

1、

变量的地址就是变量的指针。变量的值和变量的地址是不同的概念,变量的值是该变量在内存单元中的数据。
用来存放指针(地址)的变量就称为指针变量。

2、

若把某变量的地址赋值给指针变量p,则称指针变量p指向该变量。

3、

通常指针变量可以通过以下几种方法获得地址:通过地址运算“&”赋值,指针变量的初始化,
通过其他指针变量赋值用NULL给指针变量赋空值,以及通过调用标准函数赋值。

4、

“*”称为指针运算符(单目运算符),也称取内容运算符。当指针变量p指向一个变量x时,
可以用*p的形式存取该变量的值。此时,*p与变量x相互等价。

5、

取地址运算符“&”与指针运算符“*”作用在一起时,有相互“抵消”的作用。对于变量x,*&x与x相互等价。

6、

若定义了一维数组a和指针变量p,且p=a;,则以下四种表示相互等价:a[i]、p[i]、*(a+i)、*(p+i)。

7、

未对指针变量p赋值即p没有指向时,而就对*p赋值,该值就代替了内存中某单元的内容,有可能出现不可意料的错误。

8、

若p指向数组a,则:
⑴ p++ (或p+=1),使p指向下一元素。
⑵ *p++ 等价 *(p++)。作用是先得到p指向的变量的值(即*p),然后再使p+1→p。
⑶ *(p++)与*(++p)不同。前者为a[0],后者为a[1]。
⑷ (*p)++表示p指向的元素值加1,即(a[0])++
⑸如果p当前指向a数组中第i个元素,则: *(p--)相当于a[i--],先对p进行*运算,再使p自减; *(++p)相当于
a[++i],先使p自加,再作*运算。 *(-- p)相当于a[--i],先使p自减,再作*运算。

 

转载于:https://www.cnblogs.com/chen915141943/p/3301990.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值