出售东西的网站怎么做重庆市招标网官网

张小明 2026/1/2 2:39:14
出售东西的网站怎么做,重庆市招标网官网,一个网站的建设步骤是,wordpress 编辑器 视频教程上节回顾#xff1a; C语言指针#xff08;六#xff09;——函数指针数组 上一节我们学习了函数指针数组#xff0c;它让菜单驱动的代码变得简洁优雅。通过将多个函数指针存储在一个数组中#xff0c;我们彻底摆脱了繁琐的switch语句#xff0c;实现了代码的高扩展性。…上节回顾C语言指针六——函数指针数组上一节我们学习了函数指针数组它让菜单驱动的代码变得简洁优雅。通过将多个函数指针存储在一个数组中我们彻底摆脱了繁琐的switch语句实现了代码的高扩展性。今天我们要在这个基础上更进一步学习指针的终极套娃——指向函数指针数组的指针。别被名字吓到其实理解了本质你会发现它很简单。指向函数指针数组的指针一、为什么需要这个套娃指针先思考一个问题既然函数指针数组这么好用为什么还要学指向它的指针答案很实在实际开发中确实很少直接使用。但学习它有重要价值理解C语言类型系统的完整性能看懂任何复杂的C语言声明面试时展示扎实的指针功底为理解更复杂的系统代码打下基础就像学习数学公式你可能不会天天用但懂了之后看世界的方式会不同。二、什么是指向函数指针数组的指针让我们用最直白的方式解释函数指针指向单个函数的指针函数指针数组存放多个函数指针的数组指向函数指针数组的指针指向这个数组的指针简单说这是一个指针它指向一个数组而这个数组里存的全是函数指针。三、如何定义不必着急我们一步一步来~第1步先定义函数指针数组// 定义一个函数指针数组包含3个元素 int (*funcArr[3])(int, int);第2步取这个数组的地址funcArr // 这就是指向函数指针数组的指针类型第3步定义指针变量存储这个地址int (*(*p)[3])(int, int) funcArr;我们来解析一下这一长串int (*(*p)[3])(int, int)*pp是一个指针(*p)[3]p指向一个包含3个元素的数组*(*p)[3]数组的每个元素是指针(int, int)这些指针指向的函数接受两个int参数最前面的int函数返回int类型四、用typedef让代码变清晰对于复杂声明typedef是救命稻草// 第1步定义函数指针类型 typedef int (*FuncPtr)(int, int); // 第2步用这个类型定义数组 FuncPtr funcArr[3]; // 第3步定义指向这个数组的指针 FuncPtr (*p)[3] funcArr;看用了typedef代码立刻变得简单多了五、简单示例#include stdio.h // 两个简单的测试函数 int Add(int a, int b) { return a b; } int Sub(int a, int b) { return a - b; } int main() { // 定义函数指针数组并初始化 int (*funcArr[2])(int, int) {Add, Sub}; // 定义指向这个数组的指针 int (*(*p)[2])(int, int) funcArr; // 使用数组直接调用 printf(直接使用数组\n); printf(Add(10, 5) %d\n, funcArr[0](10, 5)); printf(Sub(10, 5) %d\n, funcArr[1](10, 5)); // 通过指针调用 printf(\n通过指针调用\n); printf(Add(10, 5) %d\n, (*p)[0](10, 5)); // 先解引用p得到数组 printf(Sub(10, 5) %d\n, (*p)[1](10, 5)); // 查看地址 printf(\n地址信息\n); printf(funcArr地址%p\n, funcArr); printf(funcArr地址%p\n, funcArr); printf(p存储的地址%p\n, p); return 0; }运行结果直接使用数组Add(10, 5) 15Sub(10, 5) 5通过指针调用Add(10, 5) 15Sub(10, 5) 5地址信息funcArr地址0x7ffc5a3b2b20funcArr地址0x7ffc5a3b2b20p存储的地址0x7ffc5a3b2b20六、注意点1.funcArr和funcArr的区别虽然打印的地址值相同但类型完全不同funcArr类型是int (**)(int, int)指向函数指针的指针funcArr类型是int (*(*)[2])(int, int)指向数组的指针2. 指针运算的差异printf(funcArr 1 %p\n, funcArr 1); // 前进8字节一个指针大小 printf(funcArr 1 %p\n, funcArr 1); // 前进16字节整个数组大小这就是为什么类型很重要——决定了指针运算的步长。3. 如何正确访问// 正确先解引用再下标访问 int result1 (*p)[0](10, 5); // 错误试图直接下标访问 int result2 p[0](10, 5); // 编译错误记住要先解引用才能取元素七、总结本节我们了解了什么指向是函数指针数组的指针并了解了它的简单用法。本节内容不做重点只需了解即可考试和实际开发使用的并不多。完结撒花指针系列的探索之路至此已抵达终点。从最基础的指针概念出发我们一路经历了字符指针、指针数组、数组指针的层层递进攻克了函数指针这一重要关口直至本篇的指向函数指针数组的指针。这一路走来宛如攀登一座知识的山峰每一步都见证了思考的深度。学习指针的道路绝非坦途相信许多同学都曾经历过困惑与挣扎——那些面对复杂声明时的迷茫调试指针错误时的挫败都是成长路上必经的风景。不必焦虑更不必自我怀疑因为每一位C语言学习者都曾走过相似的路径。回顾我的学习历程也是通过一行行代码的实践、一篇篇笔记的积累、一次次错误的修正才逐渐拨开迷雾看清指针世界的真实面貌。我相信所有真诚的努力都不会被辜负愿大家在编程的道路上一往无前用代码书写属于自己的精彩篇章希望讲解的内容能帮助到各位同学如有错误或更好的建议还望指出 ~谢谢大家
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

做的比较好的家具网站首页杭州seo网站推广排名

电路图PDF智能解析工具的技术突破与应用实践 【免费下载链接】PDF-Extract-Kit A Comprehensive Toolkit for High-Quality PDF Content Extraction 项目地址: https://gitcode.com/gh_mirrors/pd/PDF-Extract-Kit 你是否曾花费数小时手动标注电路元件?面对复…

张小明 2026/1/2 4:58:08 网站建设

免费建立个人网站学校校园网站建设

FaceFusion模型缓存机制加快重复任务处理速度在如今的AI视觉应用中,实时换脸、虚拟形象生成和数字人驱动等场景正变得越来越普遍。无论是短视频平台上的趣味滤镜,还是影视级后期制作中的角色替换,背后都依赖于像FaceFusion这类复杂的人脸编辑…

张小明 2026/1/2 6:05:10 网站建设

揭阳企业网站模板建站godaddy 安装wordpress

QMCDecode终极指南:3分钟搞定QQ音乐加密格式转换 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac,qmc0,qmc3转mp3, mflac,mflac0等转flac),仅支持macOS,可自动识别到QQ音乐下载目录,默认转换结…

张小明 2026/1/2 6:51:36 网站建设

响应式网站建设推荐乐云seo造价师注册管理系统

存储过程的定义存储过程(Stored Procedure)是预先编译并存储在数据库中的一组SQL语句集合,可通过名称调用执行。它类似于编程中的函数,支持参数输入和输出,用于封装复杂的数据库操作逻辑。存储过程的优点执行效率高 存…

张小明 2026/1/2 7:12:38 网站建设

呼市推广网站三元区建设小学网站

💾 为什么电脑需要"内存"和"硬盘"?——存储金字塔的秘密 🧠大家好,我是无限大,今天又带来最新一期的十万个为什么系列文章 希望今天的内容能对大家有所帮助想象一下,你正在厨房做饭&am…

张小明 2026/1/2 7:48:00 网站建设

外贸网站翻墙做广告wordpress change language

Libreddit个性化配置终极指南:打造专属Reddit浏览体验 【免费下载链接】libreddit Private front-end for Reddit 项目地址: https://gitcode.com/gh_mirrors/li/libreddit Libreddit作为Reddit的私有前端替代方案,提供了强大的个性化配置功能&am…

张小明 2026/1/2 8:20:04 网站建设