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

网站推广有哪些方式阳江招聘网最新消息今天招聘

网站推广有哪些方式,阳江招聘网最新消息今天招聘,营销软件商城,网址网站注册大家好啊#xff0c;我是小象٩(๑ω๑)۶ 我的博客#xff1a;Xiao Xiangζั͡ޓއއ 很高兴见到大家#xff0c;希望能够和大家一起交流学习#xff0c;共同进步。 今天我们继续来复习指针… 目录 一、看一段代码二、 一维数组传参的本质三、冒泡排序3.1 基本思想四、二… 大家好啊我是小象٩(๑òωó๑)۶ 我的博客Xiao Xiangζั͡ޓއއ 很高兴见到大家希望能够和大家一起交流学习共同进步。 今天我们继续来复习指针… 目录 一、看一段代码二、 一维数组传参的本质三、冒泡排序3.1 基本思想四、二级指针4.1 基本概念 五、指针数组1 指针数组的定义 七、结尾 一、看一段代码 23 --32 arr[i] -- *(arri) i[arr] -- *(iarr)int main() {int arr[10] { 1,2,3,4,5,6,7,8,9,10 };//打印数组的内容使用指针int* p arr;int sz sizeof(arr) / sizeof(arr[0]);int i 0;//输出数组的内容//arr[i] -- *(arri)////[]就是一个操作符而已//for (i 0; i sz; i){//printf(%d , i[arr]);////printf(%d , i[p]);//?//printf(%d , *(i p));//printf(%d , p[i]);//*(pi) p[i]//*(pi) p[i] --- *(ip) i[p]//printf(%d , *(pi));}return 0; }本质 arr[i] -- *(arri) 二、 一维数组传参的本质 在 C 语言中一维数组传参的本质是传递数组首元素的地址而非整个数组的副本。 数组我们学过了之前也讲了数组是可以传递给函数的我们讨论 一下数组传参的本质。 首先从一个问题开始我们之前都是在函数外部计算数组的元素个数那我们可以把数组传给一个数后函数内部求数组的元素个数吗 #include stdio.h void test(int arr[]) {int sz2 sizeof(arr) / sizeof(arr[0]);printf(sz2 %d\n, sz2); } int main() {int arr[10] { 1,2,3,4,5,6,7,8,9,10 };int sz1 sizeof(arr) / sizeof(arr[0]);printf(sz1 %d\n, sz1);test(arr);return 0; } 通过结果我们发现在函数内部是没有正确获得数组的元素个数。 我们知道数组名是数组首元素的地址那么在数组传参的时候传递的是数组名也就是说本质上数组传参传递的是数组首元素的地址。 所以函数形参的部分理论上应该使用指针变量来接收元素的地址。**那么在函数内部我们写sizeof(arr) 计算的是一个地址的大小单位字节而不是数组的大小单位字节。**正是因为函数的参数部分是本质是指针所以在函数内部是没办法求的数组元素个数的。 void test(int arr[])//参数写成数组形式本质上还是指针 {printf(%d\n, sizeof(arr)); } void test(int* arr)//参数写成指针形式 {printf(%d\n, sizeof(arr));//计算⼀个指针变量的⼤⼩ } int main() {int arr[10] { 1,2,3,4,5,6,7,8,9,10 };test(arr);return 0; } 总结一维数组传参形参的部分可以写成数组的形式也可以写成指针的形式。 三、冒泡排序 3.1 基本思想 冒泡排序Bubble Sort是一种简单的排序算法通过重复遍历待排序的数组依次比较相邻元素的值若顺序错误例如升序时前一个元素大于后一个元素则交换它们的位置。每一轮遍历会将当前未排序部分的最大或最小元素“冒泡”到其正确的位置。 冒泡排序的核心思想就是两两相邻的元素进行比较。 //⽅法1 void bubble_sort(int arr[], int sz)//参数接收数组元素个数 {int i 0;for (i 0; i sz - 1; i){int j 0;for (j 0; j sz - i - 1; j){if (arr[j] arr[j 1]){int tmp arr[j];arr[j] arr[j 1];arr[j 1] tmp;}}} } int main() {int arr[] { 3,1,7,5,8,9,0,2,4,6 };int sz sizeof(arr) / sizeof(arr[0]);bubble_sort(arr, sz);int i 0;for (i 0; i sz; i){printf(%d , arr[i]);}return 0; } //⽅法2 - 优化 void bubble_sort(int arr[], int sz)//参数接收数组元素个数 {int i 0;for (i 0; i sz - 1; i){int flag 1;//假设这⼀趟已经有序了int j 0;for (j 0; j sz - i - 1; j){if (arr[j] arr[j 1]){flag 0;//发⽣交换就说明⽆序int tmp arr[j];arr[j] arr[j 1];arr[j 1] tmp;}}if (flag 1)//这⼀趟没交换就说明已经有序后续⽆序排序了break;} } int main() {int arr[] { 3,1,7,5,8,9,0,2,4,6 };int sz sizeof(arr) / sizeof(arr[0]);bubble_sort(arr, sz);int i 0;for (i 0; i sz; i){printf(%d , arr[i]);}return 0; }数组传参的时候传递是数组首元素的地址 1.函数的形参可以写成数组也可以写成指针 2.所以在函数内没办法计算数组的元素个数 3.所以形参的数组和实参的数字是同一个数组 void bubble_sort(int arr[], int sz) {int i 0;//趟数for(i 0; i sz-1; i){int flag 0;//假设已经有序//处理一趟排序的过程 - 处理多少对数据for (int j 0; j sz-1-i; j){if (arr[j] arr[j 1]){flag 1;int tmp arr[j];arr[j] arr[j 1];arr[j 1] tmp;}}if (flag 0){break;}} }void print_arr(int arr[], int sz) {int i 0;for (i 0; i sz; i){printf(%d , arr[i]);}printf(\n); }int main() {//3,1,7,5,8,9,0,2,4,6//排序 - 排成升序//int arr[] {9,8,7,6,5,4,3,2,1,0};int arr[] {1,2,3,4,5,6,7,8,9,10};//冒泡排序int sz sizeof(arr) / sizeof(arr[0]);print_arr(arr, sz);bubble_sort(arr, sz);print_arr(arr, sz);return 0; }四、二级指针 4.1 基本概念 指针的指针二级指针**是指向指针的指针。 层级关系二级指针存储的是一级指针的地址而一级指针存储的是变量的地址。 指针变量也是变量是变量就有地址那指针变量的地址存放在哪里 这就是二级指针 。 对于二级指针的运算有 • *ppa 通过对ppa中的地址进行解引用这样找到的是 pa *ppa 其实访问的就是 pa int b 20; *ppa b;//等价于 pa b;**ppa 先通过 *ppa 找到 pa ,然后对 pa 进行解引用操作 *pa 那找到的是 a **ppa 30; //等价于*pa 30; //等价于a 30;五、指针数组 C语言中的指针数组是一种特殊的数组其元素都是指针类型。每个元素可以指向不同类型或相同类型的数据常用于管理多个地址如字符串数组、动态内存分配等。 指针数组是指针还是数组 我们类比一下整型数组是存放整型的数组字符数组是存放字符的数组。 那指针数组呢是存放指针的数组。 1 指针数组的定义 语法数据类型 *数组名[数组长度]; 特点数组的每个元素都是一个指针需单独初始化后才能使用。 示例 int *ptr_arr[5]; // 定义一个包含5个整型指针的数组 char *str_arr[3]; // 定义一个包含3个字符指针的数组指针数组的每个元素是地址又可以指向一块区域。 七、结尾 这一课的内容就到这里了下节课继续学习指针的其他一些知识 如果内容有什么问题的话欢迎指正有什么问题也可以问我
http://www.yingshimen.cn/news/38278/

相关文章:

  • 做网站安全维护是什么东东wordpress忘记密码ftp
  • 卖友情链接的哪来那么多网站电脑版qq手机登录网页登录入口
  • ie8打不开建设银行网站昆明体育城微网站建设
  • 沈阳网站建设工作顺企网南昌网站建设
  • 高端网网站建设慧聪网seo页面优化
  • 网站建设为什么这么贵wordpress my02visitors
  • 平面设计网站制作天津装饰公司排行榜前十位有哪些
  • 用织梦做的手机网站怎么才能和电脑同步宁波网页设计职业
  • 手机网站输入框中山网站建设文化策划
  • 贵州省网站集约化建设wordpress上注入
  • 高端网站制作软件如何修改网站后台登陆入口路劲
  • 毕设做网站和app重庆妇科医院在线咨询
  • 如何做网站清风制作沈阳定制网带式电加热烘箱
  • 电子商务网站发展建设论文网站制作需要什么资料
  • 中小学网站建设论文wordpress连不上
  • 做ps彩图什么网站好用什么网站做封面最好
  • 高性能的网站建设指南长春企业自助建站
  • 成都网站建设定制开发系统srm采购管理系统
  • 江西营销网站建设php网站开发流程逻辑
  • 如何在手机上做微电影网站如何做网站优化
  • 网站开发的实训报告太原网站建设制作公司哪家好
  • 已有域名怎么做网站哪里有网站开发定制
  • 在线做任务的网站有哪些青海网站开发建设
  • 企业网站推广外包江苏大丰做网站
  • 高质量的赣州网站建设网页制作的原则是什么
  • 网站首页制作教程中国历任总经理名单
  • wordpress所有文章新窗口打开东莞seo推广优化排名
  • 做一个app的成本seovip培训
  • 百度云建站WordPress郑州东区做网站电话
  • 公司创建网站多少钱asp.net mvc 网站开发