当前位置: 首页 > news >正文

上海招聘网最新招聘信息网淄博网站制作升级优化

上海招聘网最新招聘信息网,淄博网站制作升级优化,企业做优化好还是超级网站好,自助建站系统介绍文章目录 一、指针数组 和 数组指针① 数组指针② 指针数组 二、函数指针与函数指针数组① 函数指针② 函数指针数组 三、指针与一维、二维数组① 指针与一维数组② 指针与二维数组 一、指针数组 和 数组指针 ① 数组指针 数组指针#xff08;Array Pointer#xff09;是指… 文章目录 一、指针数组 和 数组指针① 数组指针② 指针数组 二、函数指针与函数指针数组① 函数指针② 函数指针数组 三、指针与一维、二维数组① 指针与一维数组② 指针与二维数组 一、指针数组 和 数组指针 ① 数组指针 数组指针Array Pointer是指向数组的指针变量也可以理解为一维数组与指针的结合。其定义形式为 type (*ptr)[size]; // 记法数组指针本身是指针所以需要括号将*与指针变量括起来其中type 表示数组元素的数据类型ptr 是指向数组的指针变量size 是数组的长度。 例如 arr[5] { 1, 2, 3, 4, 5 }; int (*p)[5] arr; // 定义一个指向长度为 5 的 int 类型数组的指针上述代码中p 是一个指向长度为 5 的 int类型数组的指针指向 arr 数组的首地址。 通过数组指针可以访问数组中的元素。 例如 (*p)[0] 10; // 修改 arr 数组的第一个元素为 10需要注意的是在使用数组指针访问数组元素时需要使用 (*p)[i] 的形式。 ② 指针数组 指针数组pointer array 是一个数组其元素都是指针变量。其定义形式为 type *ptr[size]; // 指针数组本身是数组每个元素是指针变量故不加括号[] 优先级高于 *其中type 表示指针变量所指向的数据类型ptr 是指针数组size 是数组的长度。 例如 int a 1, b 2, c 3; int *ptr[3] { a, b, c }; // 定义一个包含三个 int 类型指针变量的数组上述代码中ptr 是一个包含三个 int 类型指针变量的数组分别指向 a、b、c 三个变量。 通过指针数组可以访问指向的变量。例如 *ptr[0] 10; // 修改 a 变量的值为 10需要注意的是在使用指针数组访问指针变量所指向的数据时需要使用 *ptr[i] 的形式。 综上所述数组指针和指针数组是两个不同的概念使用时需要根据实际情况选择合适的方式。 二、函数指针与函数指针数组 ① 函数指针 函数指针Function Pointer 是指向函数的指针变量。它可以用来存储和调用函数的地址实现对函数的动态调用。函数指针的类型必须与所指向的函数的类型一致包括返回值类型和参数列表。 声明函数指针的格式如下 return_type (*pointer_name)(params);其中return_type 是函数的返回值类型pointer_name 是函数指针的名称params 是函数的参数列表。 以下是一个简单的示例展示了如何声明、赋值和调用函数指针 #include iostreamint add(int a, int b) {return a b; }int main() {int (*ptr)(int, int) add; // 声明一个函数指针 ptr并将其赋值为函数 add 的地址ptr(); // 调用函数指针 ptr相当于调用函数addreturn 0; }在上述代码中声明了一个函数指针 ptr它指向无返回值且无参数的函数 add。然后将函数 add 的地址赋值给 ptr最后通过 ptr() 调用了函数 add。 函数指针在许多情况下非常有用例如在 回调函数、函数指针数组、函数指针作为函数参数 等场景中都能发挥重要作用。通过函数指针可以实现函数的灵活调用与动态选择。 ② 函数指针数组 函数指针数组Array of Function Pointers是一个包含函数指针元素的数组。每个数组元素都是一个函数指针它们可以指向不同的函数。通过函数指针数组可以实现对不同函数的动态调用和选择。 声明函数指针数组的格式如下 return_type (*array_name[size])(params);以下是一个简单的示例展示了如何声明、赋值和调用函数指针数组 #include iostreamint mul(int a, int b) {return a * b; }int div(int a, int b) {return a / b; }int main() {int (*ptrArr[2])() {mul, div}; // 声明一个包含 2 个函数指针元素的函数指针数组并将其赋值为函数 mul 和函数 div 的地址for (int i 0; i 2; i) {ptrArr[i](); // 调用函数指针数组中的函数指针}return 0; }在上述代码中声明了一个函数指针数组 ptrArr它包含了两个函数指针元素。第一个元素指向函数 mul第二个元素指向函数div。通过遍历函数指针数组逐个调用函数指针实现了对函数的动态调用。 如果我们要使用switch语句来进行堆函数的调用可以替换为函数指针数组。 函数指针数组在一些场景中非常有用例如函数回调、状态机等。通过函数指针数组可以根据需要灵活地选择和调用不同的函数使程序具有更高的可扩展性和灵活性。 三、指针与一维、二维数组 ① 指针与一维数组 指针与一维数组在 C/C 中有紧密的关联并可以相互转换。 数组名作为指针 在 C/C 中数组名可以被看作是指向数组首元素的指针。 例如 int arr[5] { 1, 2, 3, 4, 5 }; int *ptr arr; // 数组名 arr 被隐式地转换为指向数组首元素的指针上述代码中ptr 是一个指向整型变量的指针它被赋值为数组 arr 的首地址。此时可以通过指针 ptr 访问数组中的元素例如 ptr[0] 表示数组 arr 的第一个元素。 需要注意的是虽然数组名可以被看作指针但它并不是一个普通的指针变量无法进行赋值操作或修改其值。 指针数组和一维数组的转换 指针数组和一维数组可以相互转换。例如 将指针数组转换为一维数组 int a 1, b 2, c 3; int *ptr[3] { a, b, c }; // 定义一个指针数组 int arr[3] { *ptr[0], *ptr[1], *ptr[2] }; // 将指针数组转换为一维数组上述代码中通过 解引用指针数组的元素可以获取指针所指向的值然后将这些值赋给一维数组。 将一维数组转换为指针数组 int arr[3] { 1, 2, 3 }; int *ptr[3];for (int i 0; i 3; i) {ptr[i] arr[i]; }上述代码中通过循环遍历一维数组可以将数组中每个元素的地址存储到指针数组中从而实现一维数组到指针数组的转换。 总结指针与一维数组之间存在紧密的关系并可以相互转换。通过理解和灵活运用指针与一维数组的特性可以更自由地操作和处理数组数据。 ② 指针与二维数组 指针与二维数组在 C/C 中也有一定的关联并可以相互转换。 指针与二维数组的关系 对于二维数组可以使用指针来进行访问和操作。我们知道二维数组实际上是由多个一维数组组成的每个一维数组都是连续存储的。 int arr[][3] { {1, 2, 3}, {4, 5, 6} }; int (*ptr)[3] arr; // 使用指针指向二维数组的首地址上述代码中ptr 是一个指向包含3个整数的一维数组的指针。它被赋值为二维数组 arr 的首地址。 通过指针 ptr 可以访问二维数组中的元素例如 ptr[i][j] 表示二维数组 arr 中第 i 行、第 j 列的元素值。 需要注意的是在使用指针访问二维数组时需要使用 (*ptr)[j] 的形式。 指针与二维数组的转换 指针与二维数组也可以相互转换。 例如 将指针转换为二维数组 可以通过将指针转换为二维数组来进行操作和访问。 int (*ptr)[3] new int[2][3]; // 动态分配一个二维数组 int arr[2][3] *ptr; // 将指针转换为二维数组上述代码中通过使用 new 运算符动态分配一个二维数组并将其赋给指针 ptr。然后通过解引用指针将指针转换为二维数组。 将二维数组转换为指针 可以通过将二维数组转换为指针来实现某些操作和传递给函数。 int arr[2][3] { {1, 2, 3}, {4, 5, 6} }; int (*ptr)[3] arr; // 将二维数组转换为指针上述代码中将二维数组 arr 赋给指针 ptr这样就将二维数组转换为指针。 总结指针与二维数组之间有一定的关联并可以相互转换。通过理解和灵活运用指针与二维数组的特性可以更自由地操作和处理二维数组数据。
http://www.dnsts.com.cn/news/193161.html

相关文章:

  • 朔州做网站的公司用狗做头像的网站
  • 百度网站提交收录入口wamp 怎么做两个网站
  • 内蒙古自治区精神文明建设网站同仁网站建设公司
  • 做黑彩网站会怎样处罚深圳最简单的网站建设
  • 北京医疗网站建设上海公司牌照
  • 帝国转wordpress宁波seo优化外包公司
  • wordpress 多语言站点html5网站模板 免费
  • 连江建设局网站公司网络规划
  • 小程序网站开发怎么样免费推广软件排行榜
  • 个人姓名最多备案多少个网站怎么做淘宝返利网站吗
  • 企业网站登录阿里云做网站步骤
  • 您备案的网站名称没有关联性企业网站建设的步骤
  • 建网站的八个步骤四川时宇建设工程有限公司官方网站
  • 品牌网站建设黑白H狼营销推广案例
  • 永久免费的wap建站平台免费网站推广入口
  • 网站开发容易吗承德 网站建设
  • 网站后期维护价格企业管理软件a6怎么新建账套
  • 网站建设费税率谷歌服务加速 wordpress
  • 深圳移动网站建设公司价格微信外链网站开发
  • 胶州建设局网站博客网站推广
  • 网站建设捌金手指下拉十六wordpress 字体颜色
  • 企业网站php网站后台管理系统代码
  • 网站设计建设案例注册一个公司全部流程
  • 罗湖做网站运营乐云seo网站开发的层级结构
  • 哪个网站做logo赚钱汉沽做网站
  • 网站源码上传服务器了怎么做博客 选择 WordPress
  • 什么样的网站结构适合做seo移动互联网开放合作联盟
  • 基于ssh架构网站开发网站建设哈尔滨
  • 网监关闭的网站怎么恢复萍乡网页设计
  • 在哪里找人做公司网站可以做哪些网站