c语言基础:指针(3)

1.数组指针       (指针指向数组)

int a[10] = {1,2,3,4,5,6,7,8,9,0};
int (*p)[10];
p = &a;

&a  是一个数组的地址。

2.二维数组

    

求二维数组每一行的平均值并打印

3.指向函数的指针

   一个函数在编译时被分配一个入口地址,这个函数的入口地址就称为函数的指针。

   说明:(1)指向函数的指针变量的一般定义形式为

                数据类型   (* 指针变量名)(函数参数表列)

               (2)函数调用可以通过函数名调用,也可以通过函数指针调用。

           

int add(int a,int b)
{
    return a + b;
}
int main(void)
{
    int i = 10;int j = 20;
    int (*pfn)(int ,int );
    pfn = add;
    pfn(i,j) ; 
    return 0;
}

 其中 pfn(i,j)也可以写成add(i,j);

             (3)“int(*p)(int,int);”表示定义一个指向函数的指针变量p,它不是固定指向哪一个函数的,而只是表示定义了这样一个类型的变量,它是专门用来存放函数的入口地址的。

            (4)在给函数指针变量赋值时,只需给出函数名而不必给出参数.

             (5)用函数指针变量调用函数时,只需将(*p)代替函数名即可(p为指针变量名),在(*p)之后的括号中根据需要写上实参。例如: c=(* p)(a,b);  

             (6)对指向函数的指针变量,像p+n、p++、P--等运算是无意义的。

4.返回指针值的函数

   一般形式为              类型名   *函数名(参数列表)

   返回的是地址。

5.指针数组

   一维指针数组的定义形式为         类型名  *数组名[数组长度]

   例如:int  *a[10]  定义了一个指针数组,里面的元素都是指针。

   指针数组比较适合于用来指向若干个字符串,使字符串处理更加方便灵活。

6.指向指针的指针

    用字符指针数组作为函数参数实现二分查找

   

7.指针数组做main函数的形参

    main函数可以这样写

实参是和命令一起给出的,也就是在一个命令行中包括命令名和需要传给 main函数的参数。命令行的一般形式为
命令名参数1参数2……参数n

利用指针数组作main函数的形参,可以向程序传送命令行参数

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值