首页 > 其他分享 >复杂指针解读typedef double(* (* (*p3)() )[10] )()

复杂指针解读typedef double(* (* (*p3)() )[10] )()

时间:2023-09-13 20:12:24浏览次数:32  
标签:p3 typedef int double 列表 函数参数 类型 函数指针 指针

 1 #include<stdio.h>
 2 /* “右左法则”: */
 3 //*p3  指针
 4 //(*p3)()  函数指针  函数参数列表为()
 5 //*(*p3)()  函数指针  函数参数列表为()、返回值类型为指针
 6 //(*(*p3)())[10]  数组指针  指针为函数指针  函数参数列表为()、返回值类型为指针
 7 //double(*(*p3)())[10]()  数组指针  指针为函数指针  函数参数列表为()、返回值类型为指针  指针为函数指针函数  函数参数列表为()、返回类型为double
 8 
 9 /* 函数返回值类型 (* 指针变量名) (函数参数列表);格式拆分 */
10 //(*p3)()是(* 指针变量名) (函数参数列表) 相邻的()是隔开返回类型用的,不是优先级的()
11 //double(*    (*)[10]    )()是返回值类型  类型是一个数组指针  数组元素有10个、元素类型是指针  指针为函数指针  函数参数列表为()、返回类型为double
12 typedef double(*    (*    (*p3)()    )[10]    )();
13 int main(){
14     /* “右左法则”: */
15     //(*p1(int))  函数指针
16     //*(*p1(int))  函数指针  函数返回类型为指针、参数列表为(int)
17     //void*(*p1(int))  函数指针  函数返回类型为指针、参数列表为(int)  指针类型为void
18     //void*(*p1(int))[10]  函数指针数组  函数返回类型为指针、参数列表为(int)  指针类型为void
19     
20     /* 函数返回值类型 (* 指针变量名) (函数参数列表);格式拆分 */
21     //(*p1(int))中*p1(int)是(* 指针变量名) (函数参数列表),最外面的()是隔开返回类型的标志
22     //void*是函数指针返回类型
23     void*    (    *p1(int)    )    [10];//函数指针为void*  (*(p1)  (int))
24 
25 
26 
27     /* “右左法则”: */
28     //*p2 指针
29     //(*p2)(int,int,float) 指针  指针类型为函数  函数参数列表为(int,int,float) 
30     //*(*p2)(int,int,float) 指针  指针类型为函数  函数参数列表为(int,int,float)、返回类型为指针
31     //float(*(*p2)(int,int,float))(int)  指针  指针类型为函数  函数参数列表为(int,int,float)、返回类型为指针  指针为函数指针  参数列表为(int)返回类型为float
32 
33     /* 函数返回值类型 (* 指针变量名) (函数参数列表);格式拆分 */
34     //float(*)(int):这是函数的返回类型,类型是返回类型为float、参数列表为int的函数指针
35     //(*p2)中的*是函数指针变量名前的标志,p2是函数指针的变量名,参数列表是(int)
36     float(*    (*p2)(int,int,float)    )(int);
37 
38 
39 
40     //p4()  函数
41     //*p4()  函数指针
42     //*(*p4())  函数指针  返回类型为指针
43     //*(*p4())[10]  指针数组  数组的元素为函数指针  函数指针的返回类型为指针
44     //int(*(*p4())[10])()  指针数组  数组的元素为函数指针  函数指针的返回类型为指针  指针的类型为函数指针  函数指针返回值类型为int 参数列表为()
45     
46     /* 函数返回值类型 (* 指针变量名) (函数参数列表);格式拆分 */
47     //int(*)()返回值类型
48     //(*p4())是函数指针,注意:这里的()是函数指针隔开返回类型的格式()不是运算优先级的括号
49     //[10]是数组元素个数
50     int(*    (*p4())    [10]    )();
51     return 0;
52 }

 

标签:p3,typedef,int,double,列表,函数参数,类型,函数指针,指针
From: https://www.cnblogs.com/xuweihui/p/17700606.html

相关文章

  • Vectorworks 2022下载_Vectorworks2022SP3(3D建模软件) 功能介绍
    Vectorworks是工业设计软件全家桶其中的一款,参与到整个行业的三维图像一键设计和内部结构优化布局的过程之中,并且也会很快参与到页面功能创建,机械工程设计以及空间照明情况等方面的妥善安排,当然用户完全可以根据平台自身情况做好充足的渝北工作,以形成本地工作效率上的统筹优化安排......
  • 因材施教,儿童电动牙刷具备压力传感算法MP3芯片,N9300-S16
    在孩子健康成长的道路上,每一个细节都至关重要。作为父母,始终希望能为孩子提供最好的护理与关爱。现在,电动牙刷有了全新的N9300-S16儿童电动牙刷方案,电动牙刷不仅可以保障孩子的口腔健康,还能为他们创造一种乐趣与安全的刷牙体验。科技与关爱的完美结合N9300-S16MP3芯片带来了前所未......
  • P3101 [USACO14JAN] Ski Course Rating G
    思路晃一眼题目,这不和这道题一样吗?但是再仔细一看,有有些不一样,要求了起点至少到多少个点,不要求起点互通,求的也不是最小的\(d\),而是\(d\)之和。首先,很容易地发现,这道题再去二分肯定不现实,每个点都去二分一次,所需要的时间也很恐怖。所以我们尝试从其他的方面入手。可以发现,......
  • python3 pip3 安装python-ldap失败
    pip3安装时提示ERROR:Couldnotbuildwheelsforpython-ldap,uWSGI,M2Crypto,whichisrequiredtoinstallpyproject.toml-basedprojectsERROR:CouldnotbuildwheelsforuWSGI,whichisrequiredtoinstallpyproject.toml-basedprojects需要apt-getinstall......
  • sqoop1.4.7完全支持Hadoop3.x, Hive3.x Hbase2.x
    已经修改好保存至云盘自己下载花了时间的,记得关注我。。。链接:https://pan.xunlei.com/s/VNe6P6Tm1A9Q-RG5GByN08rdA1#提取码:5nke复制这段内容后打开手机迅雷App,查看更方便下载解压直接用,里面的内容已经改好但是需要注意的是conf目录下的sqoop-env.sh里面的hadoop路径和hi......
  • P3616 富金森林公园 题解
    P3616富金森林公园题解题意给你\(n\)个点,有\(m\)次操作,每次操作可以改变一个数的值,也可以查询有多少连续的块,满足这个块内的所有数的值都大于查询的值。分析还是比较容易想到用数据结构或分块的,毕竟有同时存在修改和查询操作。但是维护什么?怎么维护?既然我们无法直接维......
  • P3201 [HNOI2009] 梦幻布丁 启发式合并,时间复杂度
    [HNOI2009]梦幻布丁一种很暴力,很容易想到,但时间复杂度不对的做法:既然每一次修改是以颜色作为单位的,那就用set或者链表(vector)维护每一个颜色出现的位置。将颜色\(x\)改为\(y\)的时候,遍历\(list_x\)的每一个点,判断其左右是否为\(y\),更新ans(不同颜色块数量)时间复杂度最大为......
  • ESP32(含ESP8266)实战问题第二章总结
    1. 一定要确保连接在同一个网络中,才可以通讯这是基础,两种方式都是需要这个基础的。如在esp8266作为服务端的时候可以先连接手机的热点之后,在调试软件中进行连接后数据传输。2. Serial.println()不会帮你修饰就发出去了,所以造成了你在写esp8266作为服务器的时候,服务端传输的数据用这......
  • Hadoop3.3.6配置历史服务器和日志
    一、配置历史服务器1.增加配置属性Hadoop部署模式主要有3种:本地、伪分布式、完全分布式。云服务器只有一台所以我使用的是伪分布式模式部署的。要配置历史服务器只需修改mapred-site.xml文件。在里面增加如下配置。<!--历史服务器端地址--><property><name>mapreduce......
  • FFmpeg: How To Convert MP4 Video To MP3 Audio?
       FFmpeg:HowToConvertMP4VideoToMP3Audio?LearnhowtoConvertanMP4VideotoMP3AudiowithFFmpegfromthisguide.By DarwinMonteiro On Oct14,2022  ShareFFmpegisoneofthebestMediatypeconvertersthatal......