指针变量的数组有哪些_指针变量的数组有哪些类型

指针变量的数组有哪些_指针变量的数组有哪些类型指针数组,数组指针,函数指针,函数指针数组一、指针数组指针数组:指针数组本质上是一个数组,只不过是指针修饰这个数组,意思是说这个数组的所有素都是指针类型,在32位系统中,指针占四个字节,在64位

指针数组,数组指针,函数指针,函数指针数组   一、指针数组   指针数组:指针数组本质上是一个数组,只不过是指针修饰这个数组,意思是说这个数组的所有素都是指针类型,在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

(0)
上一篇 2024年 9月 15日
下一篇 2024年 9月 15日

相关推荐

关注微信