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

网站都有什么类型装饰网站建设多少钱

网站都有什么类型,装饰网站建设多少钱,太平阳电脑网网站模板,seo百度网站排名研究中心关键词首页优化文章目录 前言 一、字符指针变量二、数组指针变量2.1 数组指针变量是什么2.2 数组指针变量怎么初始化2.2.1 静态初始化2.2.2 动态初始化 三、二维数组传参的本质四、函数指针变量4.1 函数指针变量的创建4.2 函数指针变量的使用4.3 typedef关键字4.4拓展 五、函数指针数组六、转… 文章目录 前言 一、字符指针变量二、数组指针变量2.1 数组指针变量是什么2.2 数组指针变量怎么初始化2.2.1 静态初始化2.2.2 动态初始化 三、二维数组传参的本质四、函数指针变量4.1 函数指针变量的创建4.2 函数指针变量的使用4.3 typedef关键字4.4拓展 五、函数指针数组六、转移表总结 前言 在C语言中指针一直是一个让初学者头疼的话题。它看似复杂难懂但其实只要掌握了正确的方法就能轻松驾驭。在之前的两篇博客中我们已经对指针有了初步的认识。今天我们将继续深入探索指针的更多奥秘。 一、字符指针变量 字符指针变量是用来存储字符数组字符串首地址的变量。它的声明方式是char *指针变量名;。例如 char *str Hello, World!;这里str就是一个字符指针变量它指向了字符串Hello, World!的首地址。通过字符指针变量我们可以对字符串进行操作。比如printf(%s, str);就可以输出整个字符串。 二、数组指针变量 2.1 数组指针变量是什么 数组指针变量是用来存储数组首地址的变量。它的声明方式是类型 (*指针变量名)[数组长度];。例如 int arr[5] {1, 2, 3, 4, 5}; int (*p)[5] arr;这里p就是一个指向包含5个整数的数组的指针变量。它指向了数组arr的首地址。通过数组指针变量我们可以访问数组中的元素。比如printf(%d, (*p)[2]);就可以输出数组中的第三个元素3。 数组指针变量与普通指针变量的区别在于数组指针变量指向的是一个数组而普通指针变量指向的是一个单一的变量或一个字符串。数组指针变量在内存中占用的空间比普通指针变量大因为它需要存储整个数组的地址信息。 2.2 数组指针变量怎么初始化 数组指针变量的初始化可以通过以下两种方式 2.2.1 静态初始化 在声明数组指针变量时直接将其初始化为一个已知数组的地址。例如 int arr[5] {1, 2, 3, 4, 5}; int (*p)[5] arr;这里p被初始化为指向数组arr的首地址。 2.2.2 动态初始化 在程序运行过程中通过malloc函数动态分配一个数组并将数组指针变量初始化为分配的内存地址。例如 int (*p)[5] (int (*)[5])malloc(sizeof(int) * 5); if (p NULL) {printf(Memory allocation failed\n);exit(1); } for (int i 0; i 5; i) {(*p)[i] i 1; }这里p被动态分配了一个包含5个整数的数组并通过循环初始化了数组中的元素。 三、二维数组传参的本质 在C语言中当我们把二维数组作为参数传递给函数时实际上传递的是数组首地址。函数接收的是一个指向一维数组的指针。例如 void printArray(int arr[][3], int rows) {for (int i 0; i rows; i) {for (int j 0; j 3; j) {printf(%d , arr[i][j]);}printf(\n);} }这里arr是一个指向包含3个整数的一维数组的指针。通过这种方式我们可以在函数中操作二维数组。 四、函数指针变量 4.1 函数指针变量的创建 函数指针变量是用来存储函数地址的变量。它的声明方式是返回类型 (*指针变量名)(参数列表);。例如 int add(int a, int b) {return a b; }int (*funcPtr)(int, int) add;这里funcPtr就是一个指向add函数的指针变量。通过函数指针变量我们可以调用函数。比如printf(%d, (*funcPtr)(1, 2));就可以输出3。 4.2 函数指针变量的使用 函数指针变量的使用非常灵活可以用于多种场景。例如我们可以根据不同的条件调用不同的函数 int add(int a, int b) { return a b; } int sub(int a, int b) { return a - b; }int (*funcPtr)(int, int);int choice; printf(Enter your choice (1 for add, 2 for sub): ); scanf(%d, choice);if (choice 1) {funcPtr add; } else if (choice 2) {funcPtr sub; } else {printf(Invalid choice\n);return 1; }printf(%d\n, (*funcPtr)(5, 3));这里根据用户输入的选择程序会调用add或sub函数。 4.3 typedef关键字 typedef关键字可以用来为数据类型定义一个别名包括函数指针类型。例如 typedef int (*FuncPtr)(int, int);FuncPtr funcPtr add;这里FuncPtr是int (*funcPtr)(int, int)的别名。通过typedef我们可以简化函数指针的声明使代码更加清晰易读。 4.4拓展 两段来自《C陷阱和缺陷》有趣的代码 五、函数指针数组 函数指针数组是一个数组其元素都是函数指针。它的声明方式是返回类型 (*指针数组名[数组长度])(参数列表);。例如 int add(int a, int b) { return a b; } int sub(int a, int b) { return a - b; } int mul(int a, int b) { return a * b; } int div(int a, int b) { return a / b; }int (*funcPtrArr[4])(int, int) {add, sub, mul, div};这里funcPtrArr就是一个包含4个函数指针的数组。通过函数指针数组我们可以根据不同的条件调用不同的函数。比如 for (int i 0; i 4; i) {printf(%d , (*funcPtrArr[i])(4, 2)); }输出结果为6 2 8 2。 六、转移表 转移表是一种利用函数指针数组实现的控制结构。它根据不同的输入条件选择执行不同的函数。例如在一个简单的菜单系统中我们可以使用转移表来实现不同的功能选项 void option1() { printf(Option 1\n); } void option2() { printf(Option 2\n); } void option3() { printf(Option 3\n); }void (*transferTable[3])() {option1, option2, option3};int choice; printf(Enter your choice (1-3): ); scanf(%d, choice);if (choice 1 choice 3) {transferTable[choice - 1](); } else {printf(Invalid choice\n); }这里根据用户输入的选择程序会调用对应的函数。 总结 通过本篇博客的学习我们深入理解了字符指针变量、数组指针变量、二维数组传参的本质、函数指针变量、函数指针数组以及转移表等指针的高级应用。指针是C语言中非常强大的工具它能让我们的程序更加灵活和高效。希望读者能够通过不断地实践和思考真正掌握指针的精髓。
http://www.zqtcl.cn/news/737296/

相关文章:

  • 哪个网站有做商标网站的类型是什么意思
  • 网站 主机网站内容段落之间有空格对seo有影响吗
  • 网站的宣传推广学网站开发哪个好
  • 免费背景图片素材网站北京企业建站程序
  • 营销网站建设方案wordpress门户
  • 世界网站排名查询效果好企业营销型网站建设公司
  • 网站用户体验解决方案个人网页设计作品赏析
  • 常州网站建设方案外包网站开发用到的技术
  • 防伪网站模板如何找百度做网站
  • 网站建设与维护成绩查询云南app开发系统
  • 自己做网站的难度建设专门网站 强化信息宣传
  • 公职单位建设网站的目的如何查看小程序的开发公司
  • 网页模板网站推荐青岛 php 网站建设
  • joomla 网站建设3d网站建设
  • 网站开发与维护专业前景网站被禁止访问怎么打开
  • 山东 网站建设青海公路建设市场信用信息服务网站
  • 济南正规做网站公司wordpress一键还原
  • 免费的购物网站源码百度网站优化
  • 企业需要做网站吗深圳装修公司前十强
  • 合肥做网站推广哪家好软文写作的十大技巧
  • 哪里做网站的wordpress歌词插件
  • 网站改版做301重定向百度站长平台查询
  • 织梦网站后台网址妙影免费模板下载
  • 甘肃网站建设开发怎么利用花生壳做自己的网站
  • 怎么查询网站开通时间建个短视频网站
  • 物流网站建设广东网站建设效果
  • 网站推广工作流程图天蝎网站建设
  • 备案ip 查询网站查询网站校园门户网站建设方案
  • 网站seo快速优化技巧建设网站的需要学习哪些课程
  • 网站建设微信托管wordpress p=