C/C++如何快速区分指针数组|数组指针|函数指针|指针函数

简介: 如何区分这些概念,主要还是看后面两个字,中文表达模式“表语+定性名词”,所以关键的都是后面的这个名词:指针数组:一个数组,数组元素是指针,如: int* p[20];数组指针:一个指针,指向一个数组,如:int(*p)[20];函数指针:一个指针,指向一个函数;

如何区分这些概念,主要还是看后面两个字,中文表达模式“表语+定性名词”,所以关键的都是后面的这个名词:


指针数组:一个数组,数组元素是指针,如:

int* p[20];

数组指针:一个指针,指向一个数组,如:

int(*p)[20];

函数指针:一个指针,指向一个函数;


基本声明形式:返回数据类型 + (*函数名) + (变量类型1,…);


函数指针声明的时候 * 需要和函数名用括号括起来(优先级问题)。


如:

int (*pFun)(int a, int b);


指针函数:一个函数,返回指针类型;


基本声明形式:返回数据类型 + * + 函数名 + (变量类型1,…);


如:

int* pFun(int a, int b);


指向函数指针的数组:一个数组,数组元素是指向函数的指针,也就是函数指针,如:

int (*p[20])(int a, int b);

总结:函数指针的本质是一个指针,而指针函数的本质是一个函数。


相关实例代码多如牛毛,不再赘述。

相关文章
|
1天前
|
C++ 编译器
|
2天前
|
C++ 数据格式
LabVIEW传递接收C/C++DLL指针
LabVIEW传递接收C/C++DLL指针
10 1
|
3天前
|
存储 安全 程序员
C++:智能指针
C++:智能指针
19 5
|
4天前
|
自然语言处理 编译器 C语言
【C++】C++ 入门 — 命名空间,输入输出,函数新特性
本文章是我对C++学习的开始,很荣幸与大家一同进步。 首先我先介绍一下C++,C++是上个世纪为了解决软件危机所创立 的一项面向对象的编程语言(OOP思想)。
30 1
【C++】C++ 入门 — 命名空间,输入输出,函数新特性
|
4天前
|
存储 安全 C++
深入理解C++中的指针与引用
深入理解C++中的指针与引用
7 0
|
5天前
|
算法 C++
【C++入门到精通】智能指针 shared_ptr循环引用 | weak_ptr 简介及C++模拟实现 [ C++入门 ]
【C++入门到精通】智能指针 shared_ptr循环引用 | weak_ptr 简介及C++模拟实现 [ C++入门 ]
10 0
|
5天前
|
安全 算法 数据安全/隐私保护
【C++入门到精通】智能指针 shared_ptr 简介及C++模拟实现 [ C++入门 ]
【C++入门到精通】智能指针 shared_ptr 简介及C++模拟实现 [ C++入门 ]
10 0
|
5天前
|
存储 算法 安全
【C++入门到精通】智能指针 auto_ptr、unique_ptr简介及C++模拟实现 [ C++入门 ]
【C++入门到精通】智能指针 auto_ptr、unique_ptr简介及C++模拟实现 [ C++入门 ]
9 0
|
5天前
|
安全 算法 IDE
【C++入门到精通】智能指针 [ C++入门 ]
【C++入门到精通】智能指针 [ C++入门 ]
8 0
|
5天前
|
存储 算法 对象存储
【C++入门到精通】function包装器 | bind() 函数 C++11 [ C++入门 ]
【C++入门到精通】function包装器 | bind() 函数 C++11 [ C++入门 ]
14 1