【C语言】指针和数组的区别和联系

本文详细介绍了C语言中指针与数组的概念及其不同组合形式,包括基本指针、数组、指针数组、数组指针等,并进一步探讨了函数指针及函数指针数组的概念与应用。

1.指针

   int  *  p     ( 这里定义一个指针      p为指针变量     指向的是某一个地址)

              

2.数组

     int  arr [10]         这里定义了10个int 类型的数据  可以通过arr[0]   arr[1].....来访问数组中的每个元素

 

 

3.指针数组

     顾名思义:首先是一个数组   而每个数组元素的类型又是一个指针

        ex:      int  * arr [5]         由于[  ]优先级高于 *    所以 arr[5]先结合   为数组   arr为数组名  其每个数组元素的的类型都为int *

4.数组指针

     顾名思义:首先是一个指针  它指向的是一个数组

        ex:int (* arr)[5]       首先(* arr)结合成一个指针  它指向一个包含5个元素的int 类型数组    指针变量为arr

 

5.函数指针

      从数组 指针  我们理解到   函数指针应该也和其具有 一样的性质         是一个指针       指向的是一个函数而已   

         int  (* p )  ( int * )= &fun           这里 fun 是一个函数   *p   是 一个指针   有能力指向一个函数      它的 函数名为fun      函数参数类型为 int *   返回值类型为 int  型

6.函数指针数组

       首先是一个数组   数组 的每个元素是一个指针   分别指向不同的函数

    ex:  int (* p [3] ) (int *)  = { fun1,fun2,fun3}         是一个数组  有3 个元素    每个元素是一个*p 的指针  

7.指向函数指针数组的指针

   首先  是 一个 指针  它指向的是一个数组  数组的每个元素又是一个指针  其又  指向不同的函数

   ex:   int(*pr(* p)[3])(  int *) = {fun1 ,fun2,fun3}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值