【C】C里符号优先级的那些坑

本文介绍了C语言中符号优先级的问题,特别是指针与数组的结合以及函数声明时的运算符优先级。强调了'[]'的优先级高于'*',并通过示例解释了如何解析复杂的表达式,如指针数组和函数指针。同时,提供了C语言运算符优先级表的参考资料。
摘要由CSDN通过智能技术生成

【C】C里符号优先级的那些坑

最近准备在准备公司里的底层软件技能鉴定,作为每次面试笔试必考的坑,感觉很有必要好好复习一遍。
常见的有这几种坑:

指针与数组

这里要提到一种层层解析的方法。
1、先从最简单的开始

int *pf;

首先应该理解一下,“*”这个符号应该理解为“解地址”,即将地址转换成对应的数据。
这个例子暂时不用考虑优先级的事,所以含义是:
* pf解地址后是int类型 –> pf就是int的指针

int pf[3];

然后理解“[]‘这个符号,应该是对变量进行地址偏移运算,比如pf[3]应该就是pf偏移3个单位后的地址。
所以这个例子可以这么理解
* pf偏移0/1/2个单位时都是int类型 –> pf就是大小为3的int数组

2、*与[]
当两个东西组合起来,事情就变得复杂了,首先应该记住,“[]”的优先级比”*”高

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值