指针数组、数组指针,指针函数和函数指针两组对应的区别

小编 357

指针数组和数组指针的区别在于:指针数组是一个数组,其中的每个元素都是一个指针;而数组指针是一个指针,它指向一个数组。指针函数和函数指针的区别在于:指针函数是一个返回指针类型的函数;而函数指针是一个指针,它指向一个函数。

1.指针数组和数组指针

指针数组是指一个数组,其中的每个元素都是一个指针,每个指针可以指向不同类型的数据。指针数组的声明形式为:

type *name[n]

其中type为指针类型,name为数组名,n为数组元素的个数。

数组指针是指一个指针,它指向一个数组,指向的数组中的元素可以是不同类型的数据。数组指针的声明形式为:

type (*name)[n]

其中type为数组元素的类型,name为指针名,n为数组元素的个数。

2.指针函数和函数指针

指针函数是指一个返回指针类型的函数。指针函数的声明形式为:

type *function_name(arguments)

其中type为指针类型,function_name为函数名,arguments为函数参数。

函数指针是指一个指针,它指向一个函数。函数指针的声明形式为:

type (*function_pointer)(arguments)

其中type为函数返回值类型,function_pointer为函数指针名,arguments为函数参数。

3.两组之间的区别

指针数组和数组指针可以互相转换,但指针函数和函数指针不能互相转换;指针数组和数组指针可以用于访问数组中的元素,指针函数和函数指针可以用于动态调用不同的函数。

延伸阅读

C语言中的指针是什么

指针,是C语言中的一个重要概念及其特点,也是掌握C语言比较困难的部分。指针也就是内存地址,指针变量是用来存放内存地址的变量,在同一CPU构架下,不同类型的指针变量所占用的存储单元长度是相同的,而存放数据的变量因数据的类型不同,所占用的存储空间长度也不同。有了指针以后,不仅可以对数据本身,也可以对存储数据的变量地址进行操作。

指针描述了数据在内存中的位置,标示了一个占据存储空间的实体,在这一段空间起始位置的相对距离值。在C/C++语言中,指针一般被认为是指针变量,指针变量的内容存储的是其指向的对象的首地址,指向的对象可以是变量(指针变量也是变量)、数组、函数等占据存储空间的实体。

回复

我来回复
  • 暂无回复内容

注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部