指针数组,数组指针,函数指针,函数指针数组 一、指针数组 指针数组:指针数组本质上是一个数组,只不过是指针修饰这个数组,意思是说这个数组的所有素都是指针类型,在32位系统中,指针占四个字节,在64位系统中,指针占八个字节。 定义:<存储类型> 数据类型 * 指针数组名 [N] <存储类型>:auto、register、extern、static、const、volatile 数据类型:char、int、short、long、float、double、signed、unsigned 指针数组名:标识符:程序员按照命名规则自定义的词法符号 命名规则:(1)由数字、字母、下划线组成 (2)不能以数字开头 (3)不能与关键字重名 注意:严格区分大小写 N:整型常量 如:1,2,3,4,5····· 初始化: 这里p就是我定义的一个指针数组,它有四个素,每个素是一个char *类型的指针,这些指针存放着其对应字符串的首地址。 这就相当与定义char *p1 = “hello”,char *p2 = “world”,char *p3 = “nice”, char *p4 = “happy”,这是四个指针,每个指针存放一个字符串首地址,然后用p[4]这个数组分别存放这四个指针,就形成了指针数组。 p[0]就是取第一个字符串”hello”,p[0][0]就是取第一个字符串的第一个素’h’。 二、数组指针 数组指针:数组指针本质上是一个指针,只不过指向的是整个数组,在32位系统中,指针占四个字节,在64位系统中,指针占八个字节。 定义:<存储类型> 数据类型 (* 数组指针名) [数组素的个数] <存储类型>:auto、register、extern、static、const、volatile 数据类型:char、int、short、long、float、double、signed、unsigned 数组指针名:标识符:程序员按照命名规则自定义的词法符号 命名规则:(1)由数字、字母、下划线组成 (2)不能以数字开头 (3)不能与关键字重名 注意:严格区分大小写 初始化: (1)数组指针指向一维数组 int (*p)[9] = &a;这句表示指针变量p 指向数组a,p 为一个数组指针。&a表示数组的地址,&a与a不同 ,虽然两者的值一样,但是含义却大不相同,&a表示数组的地址,而a则表示数组首素的地址。&a与a 经常会给我们造成混淆,所以要注意区分。*p就等于a,也就是数组的首素地址,所以*p+1就是数组第二个素的地址。*(*p+1)就是取数组第二个素2,以此类推。 (2)数组指针指向二维数组——行指针 二维数组的每一行都可以看作是一个一维数组,所以p 指向二维数组的第一行,p+1则指向二维数组的第二行,以此类推。 通过数组指针来取二维数组的素:假设 i 代表二维数组的行,j 代表二维数组的列。 (1)p[i][j] (2)(*(p+i))[j] (3)*(p[i]+j) (4)*((*(p+i))+j) 三、函数指针 函数指针:函数指针本质上是一个指针,只不过指向的是一个函数。 定义:<存储类型> <返回值类型> (* 函数指针变量名) (形参列表) { 函数体; return 返回值; } <存储类型>:auto、register、extern、static、const、volatile <返回值类型>:char、int、short、long、float、double、signed、unsigned 函数指针变量名:标识符:程序员按照命名规则自定义的词法符号 命名规则:(1)由数字、字母、下划线组成 (2)不能以数字开头 (3)不能与关键字重名 注意:严格区分大小写 形参列表:在定义时,必须要加类型修饰,形式参数的变量名也不能省略,可以有多个,也可以没有。 函数体:需要实现的功能 例如以上函数指针的例子就是封装一个求两个整数之和的函数。 四、函数指针数组 函数指针数组:函数指针数组本质上还是一个数组,只不过数组素是函数指针。 定义:<存储类型> <返回值类型> (* 函数指针数组变量名[函数指针数组素个数]) (形参列表) { 函数体; return 返回值; } <存储类型>:auto、register、extern、static、const、volatile <返回值类型>:char、int、short、long、float、double、signed、unsigned 函数指针数组变量名:标识符:程序员按照命名规则自定义的词法符号 命名规则:(1)由数字、字母、下划线组成 (2)不能以数字开头 (3)不能与关键字重名 注意:严格区分大小写 形参列表:在定义时,必须要加类型修饰,形式参数的变量名也不能省略,可以有多个,也可以没有。 函数体:需要实现的功能 以上程序是利用函数指针数组来进行两个整数的运算,函数指针数组的素是求和函数、求差函数、求积函数、求商函数 ,可以调用函数指针数组里的素来达到想要的结果。
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/20389.html