参诸文籍, 带你深入理解C/C++复杂指针声明
本文参考的相关文章已置于页脚
文章目录
一. 引言
大家是不是曾经遇到像int * (* (*fp1) (int) ) [10];
一样的复杂指针声明? 是不是看着这种声明表达式就头晕? 本文将结合C/C++运算符优先级
和右左原则
(即, The Right-Left Rule)引导你逐步理解C/C++的复杂指针声明.
Note:本文参考的相关文章已在页脚放出, 部分文章为英文版本.
二. C/C++ 运算符优先级
Note:此处仅展示本文可能涉及的运算符, 完整内容请参考微软文档 - C++ 内置运算符、优先级和关联性
- 指针声明:int *。
- 取址运算符:&。
- 间接访问运算符:*。
- 其他运算符: []、()。
- 这些运算符的优先级按照从高到低的顺序依次为:[] () * &
三. 简单表达式
int *p;
int