字符串与指针,指向函数的指针,指数函数的指针

一、二维数组与指针

   1、int a[ 3] [4] = {1,2,3,4,5,6,7,8,9,0};

    a[0]和*(a+0)等价,a[1]和*(a+1)等价,a[i]和*(a+i)等价。因此,a[0]+1和*(a+0)+1都是&a[0][1]。a[1]+2和*(a+1)+2的值都是&a[1][2]。不能将*(a+1)+2错写成*(a+1+2),后者变成*(a十3)了,相当于a[3]。

   *(a[0]+1)就是a[0][1]的值。*(*(a+0)+1)或*(* a+1)也是a[0][1]的值。*(a[i]+j)或*(*(a+i)+j)是a[i][j]的值。

打印函数:

int (*p)[10];p = &a;定义一个指针指向数组a的首地址。

int *p[10]指针数组,里面装的10个指针,sizeof为80.

二、指向函数的指针

回调函数:

函数的函数名 (div3),即为函数的入口地址;降低程序的耦合性。

qsort调用:#<stdlib.h>

qsort(首元素地址,长度(数组元素个数),每个字符占的大小,函数名(返回值类型));

void万能类型。

三、指向指针的指针

修改变量里面的值,传递的是修改变量的地址。

若getMem(s)未取地址,则s为野指针,s的基类型为char*型,指针传参时,形参需要一个指针*p来接受,getMem函数中,char*为基类型,*只是为了说明p为一个指针。

一个指针数组作为实参进行传递,形参的形式是指针的指针。**s == *s[]。

字符数组由多个字符串组成,字符指针变量中存放的是地址(字符串第1个字符的地址),不是将字符串放到字符指针变量中。当一个指针的数组作为实参传递时,对应的形参为指针的指针。

指针的指针实现排序:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值