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

长沙网站优化方法什么叫网站开发

长沙网站优化方法,什么叫网站开发,什么叫网站建设方案书,科技网站建设+长沙文章目录 1.字符指针变量2.数组指针变量3.函数指针变量4.函数指针数组5.二维数组传参本质6.拓展补充希望读者们多多三连支持小编会继续更新你们的鼓励就是我前进的动力#xff01; 本章节接着学习常见的指针变量类型 1.字符指针变量 字符指针变量#xff0c;顾名思义就是字… 文章目录 1.字符指针变量2.数组指针变量3.函数指针变量4.函数指针数组5.二维数组传参本质6.拓展补充希望读者们多多三连支持小编会继续更新你们的鼓励就是我前进的动力 本章节接着学习常见的指针变量类型 1.字符指针变量 字符指针变量顾名思义就是字符类型的指针即 char* 常见的输出格式是这样的 int main() {char ch w;char *pc ch;*pc w;return 0; }这是存放一个字符的情况如果存放字符串呢? int main() {const char* pstr hello bit.;printf(%s\n, pstr);return 0; }乍一看是存放字符串在指针变量中但我们要记住指针变量是用来存放地址的 所以这里本质是把字符串 hello bit. 首字符的地址放到了pstr中即字符 h 的地址 2.数组指针变量 上一篇 vlog 学到了指针数组就是存放指针的数组也可以理解为存放指针的集合(元素相同)那么数组指针就可以得出是存放数组地址的指针是一种指针变量指向数组 int *p1[10]; int (*p2)[10];那么以上哪种是数组指针 答案是下面那个 分析[ ] 的优先级大于 * 所以必须加上 [ ] 来保证 p 和 * 优先结合 p先和 * 结合说明p是一个指针变量然后指针指向的是一个大小为10个整型的数组 所以 p 是一个指针指向一个数组叫数组指针 int 表示 p指向的数组的元素类型 p 是数组指针变量名10是指向数组的元素个数 3.函数指针变量 根据前面学过的类比不难发现函数指针变量应该是用来存放函数地址的通过地址能够调用函数的 那么函数真的有地址吗 #include stdio.h void test() {printf(hehe\n); } int main() {printf(test: %p\n, test);printf(test: %p\n, test);return 0; }通过以上代码可以发现函数确实有地址用函数名就能代表其地址当然也可以通过 函数名 的方 式获得函数的地址为了方便一般就不写取地址符 其语法形式为 int(*pf3)(int, int) Add; int(*pf3)(int x, int y) Add;函数参数的变量名可写可不写取地址符也是 int 是指向函数的返回类型pf3 是函数指针变量名int xint y 是 pf3 指向函数的参数类型和个数 #include stdio.h int Add(int x, int y) {return xy; } int main() {int(*pf3)(int, int) Add;printf(%d\n, (*pf3)(2, 3));printf(%d\n, pf3(3, 5));return 0; }可以将通过函数指针调用指针指向的函数写一个我们之前写过的加法函数 这里通过解引用函数指针 pf3 的方式来调用它所指向的函数也就是 Add 函数传入参数 2 和 3然后将返回的结果使用 printf 函数输出。实际上在这种情况下解引用操作符 * 在这里是可选的因为在 C 语言中函数名本身在求值时就会转换为指向该函数的指针所以也可以直接写成 pf3(2, 3) 4.函数指针数组 在学习了指针数组的基础上我们引入函数指针放入数组 那么以下哪种为正确的形式 int (*parr1[3])(); int *parr2[3](); int (*)() parr3[3];答案是第一个 定义形式如下返回值类型 (*数组名[数组大小])(参数列表) parr1 先和 [ ] 结合说明 parr1是数组是 int (*)() 类型的函数指针 那么参数如何理解其实就是每个元素代表的函数 #include stdio.hint add(int a, int b) {return a b; }int subtract(int a, int b) {return a - b; }int main() {int (*func_array[2])(int, int) {add, subtract};return 0; }在上述代码中func_array 数组的两个元素分别被初始化为 add 函数和 subtract 函数的指针 5.二维数组传参本质 讲数组的时候说过二维数组其实可以看做是每个元素是一维数组的数组也就是二维数组的每个元素是一个一维数组那么二维数组的首元素就是第一行是个一维数组 第一行的一维数组的类型就是 int [5] 所以第一行的地址的类型就是数组指针类型 int(*)[5] 那就意味着二维数组传参本质上也是传递了地址传递的是第一行这个一维数组的地址那么形参也是可以写成指针形式的总的来说就是把二维数组当一维数组理解第一行看成一维数组的第一个元素首元素就是第一行一整行的地址 #include stdio.hvoid test(int (*p)[5], int r, int c){int i 0;int j 0;for(i0; ir; i){for(j0; jc; j){printf(%d , *(*(pi)j));}printf(\n);} } int main() {int arr[3][5] {{1,2,3,4,5}, {2,3,4,5,6},{3,4,5,6,7}};test(arr, 3, 5);return 0; }普通的遍历数组传参也可以这样写 这里的 *(pi) 相当于获取二维数组的第 i 行的首地址因为 p 是指向包含 5 个整数的数组的指针pi 就指向了第 i 行然后 *(pi)j 就是指向第 i 行第 j 列元素的指针最后 ((pi)j) 就是获取该位置的元素值并输出 虽然解引用通常是获取元素本身但在指向二维数组行的指针这种特殊情况下由于指针所指向的对象本身就是一个数组解引用得到的就是这个数组的首地址这是由 C 语言的指针和数组特性共同决定的 二维数组传参形参的部分可以写成数组也可以写成指针形式 6.拓展补充 补充一个关键字 typedef 是用来类型重命名的可以将复杂的类型简单化 普通类型 typedef unsigned int uint; //将unsigned int 重命名为uint普通指针类型 typedef int* ptr;数组函数指针类型 typedef int(*parr)[5]; //新的类型名必须在*的右边 typedef void(*pfun)(int);//新的类型名必须在*的右边下一期 vlog 将对二分查找转移表冒泡排序等常见算法题目进行练习解析 建议对前面的知识都有系统性的理解后再来写题 主页传送门DARLING Zero two♡ 的 blog 希望读者们多多三连支持 小编会继续更新 你们的鼓励就是我前进的动力
http://www.hkea.cn/news/14536856/

相关文章:

  • 门户网站注意事项如何在公司网站下设置邮箱
  • 网站域名备案注销如和做视频解析网站
  • 无锡网站建设兼职做自媒体小视频哪个网站比较赚钱
  • 帮别人做彩票网站犯法嘛wordpress服务器搭建
  • 天马网络网站凡科建站做的网站有什么短板
  • 买个购物网站网站建设哪儿济南兴田德润什么活动
  • 五金设备网站建设建设常规的网站报价是多少
  • 旅游网站建设外现状wordpress英文变中文版
  • 做程序的网站铭万网站建设
  • 公司网站建设全包网站在建设是什么意思
  • 聊城哪里可以学网站建设呢房产网站建设哪家好
  • 潍坊市网站建设公司网络推广赚钱项目
  • 网站建设是一项系统工程企业网站建设一条龙
  • 重庆智能网站建设价格企业管理咨询考试题及答案
  • 龙岩市建设局网站城乡建设学校网站
  • 三合一网站一般多少钱做外贸在什么网站好
  • 社区信息建设网站投资 网站 源码
  • 湖南智能网站建设推荐网站开发与设计英文文献
  • 哈尔滨 网站建设公司济南网站制作推广
  • html和php做网站哪个好四个常见的网络营销方式
  • 如何做产品网站网页设计网页设计图片怎么放进去
  • 龙华新区城市建设局网站抖音黑科技引流拓客软件
  • 做i网站成都网站运营公司
  • 营销网站主题有哪些内容邢台做网站公司排名
  • 商务网站建设与管理石家庄软件公司排名
  • 如何做网站页面河南省住房和城乡建设厅人教处网站
  • 有哪些装修网站模板出售网站源码
  • 找回网站后台网站制作什么语言最好
  • 湖州网站做等保费用刷q币网站建设
  • 建设专业网站哪家比较好wordpress 外观 自定义