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

阜阳集团网站建设唐山建设网站

阜阳集团网站建设,唐山建设网站,友链交易网,广告设计公司介绍文案作者前言 作者介绍#xff1a; 作者id#xff1a;老秦包你会#xff0c; 简单介绍#xff1a; 喜欢学习C语言和python等编程语言#xff0c;是一位爱分享的博主#xff0c;有兴趣的小可爱可以来互讨 个人主页::小小页面 gitee页面:秦大大 一个爱分享的小博主 欢迎小可爱…        作者前言   作者介绍           作者id老秦包你会 简单介绍              喜欢学习C语言和python等编程语言是一位爱分享的博主有兴趣的小可爱可以来互讨                                 个人主页::小小页面                                   gitee页面:秦大大                         一个爱分享的小博主 欢迎小可爱们前来借鉴 ————————————————————————— 目录 数组 一维数组的使用 一维数组在内存中的存储 二维数组的创建和初始化  二维数组的使用 二维数组在内存中的存储 数组越界数组作为函数参数 —————————————————————————————————————— 一维数组的创建和初始化 数组的创建 数组是一组相同类型元素的集合。简而言之数组是表示一串数据数据类型相同的数据 数组的创建方式 元素数据类型 数组名[数组的大小]; 数组 的大小:是一个常量表达式 #includestdio.h int main() {int arr[5];int arr1[3 2];char arr2[3];return 0; } 在一些编译器中,是可以使用变量当作数组的大小的,是因为在C99之前只能是常量指定大小,C99之后引用了变长数组的概念,数组的大小是可以使用变量指定的,vs2019、vs2022是不支持的,数组的长度一旦确定了就不能改变了 变长数组不能初始化我们还是使用常量定义数组 数组的初始化 不完全初始化 #includestdio.h int main() {int arr[10] { 1,2,3,4 };return 0; }  可以看出未初始化部分是默认为0 完全初始化 #includestdio.h int main() {int arr[3] { 1,2,3 };char arr1[3] { a,68,98 };int arr2[] { 1,2,3 };getchar();return 0;} 注意一下在字符串数组中写入整数是会默认为ASCII值然后自动转换为字符 一维数组的使用 #includestdio.h int main() {int arr[] { 1,2,3,4,5,6,7,8,9 };int sz sizeof arr / sizeof(int);int i 0;for (i 0; i sz; i){printf(%d , arr[i]);}getchar();return 0; } 这里引入了[] 下标引用操作符。它其实就数组访问的操作符。 1. 数组是使用下标来访问的下标是从0开始。 2. 数组的大小可以通过计算得到。 一维数组在内存中的存储 要想了一维数组在内存中的存储就必须了解数组中每个元素的地址  十六进制 可以看出地址之间相差4是因为整形元素一个占四个字节一个字节一个地址 1.数组在内存中是连续存放的  2.随着下标的增长地址是由低到高变化的  二维数组的创建和初始化 二维数组的创建 #includestdio.h int main() { int arr[3][5]; char arr1[2][3]; return 0; } 二维数组的初始化 #includestdio.h int main() {int arr[3][5] { 0 };//可以想象成一个矩阵三行五列int arr1[3][5] { 1,2,3,4,5,2,3,4,5,6,3,4,5,6,7 };int arr2[3][5] { {1,2,3,4,5},{2,3,4,5,6},{3,4,5,6,7} };int arr3[3][5] { {1,2},{0},{1,2,3,4,5} };int arr4[][5] { {1,2},{0},{1,2,3,4,5} };return 0; } 二维数组的使用 #includestdio.h int main() {int arr1[3][5] { {1,2},{0},{1,2,3,4,5} };int i 0;for (i 0; i 3; i){int j 0;for (j 0; j 5; j){printf(%d , arr1[i][j]);}printf(\n);}return 0; } 这里是二维数组的简单使用 二维数组在内存中的存储 一样的跟一维数组一样每个元素打印出来地址                                                   上面模型是我想的但实际却是 下面这个图 · 所以我们在定义二维数组的时候行可以省略但是列不能省略当每行存储几个元素只要给出就能通过计算出有几行 简单的说二维数组的存储是连续的或者可以说二维数组是一维数组组成的数组 数组越界 当一个数组有n个元素 数组的下标是有范围限制的。数组的下标规定如果小于0或者大于n - 1,就是数组越界访问了C语言本身是不做数组下标的越界检查编译器也不一定报错但是编译器不报错并不意味着程序就是正确的最好要自己检查 数组作为函数参数 下面我们利用冒泡排序来介绍这里  冒泡排序就是相邻的两个元素进行比较排序过程中我们要清楚进行几趟排序每趟排序有多少给元素进行比较每一趟比较完是否要去避免一些元素重复比较 #includestdio.h int main() {int arr[] { 10,9,8,7,6,5,4,3,2,1 };int sz sizeof arr / sizeof(int);int i 0;for (i 0; i sz - 1; i){int j 0;for (j 0; j sz - 1 - i; j){if (arr[j] arr[j 1]){int num arr[j];arr[j] arr[j 1];arr[j 1] num;}}}for (i 0; i sz; i){printf(%d , arr[i]);}getchar();return 0; } 如果我们把冒泡排序封装到一个函数里 #includestdio.h void sort(int arr[], int sz) {int i 0;for (i 0; i sz - 1; i)//趟数{int j 0;for (j 0; j sz - 1; j){if (arr[j] arr[j 1]){int num arr[j];arr[j] arr[j 1];arr[j 1] num;}}} } int main() {int arr[] { 10,9,8,7,4,5,6,1,2,3 };int sz sizeof arr / sizeof(int);sort(arr, sz);int i 0;for (i 0; i sz; i){printf(%d , arr[i]);}getchar();return 0; } 是一样的效果可能有一些小可爱就会犯一个错误就是直接传数组进去然后在函数内部求长度这就需要我们理解数组名是啥 数组名是什么 简单而言数组名就是地址通常来说数组名就是首元素的地址    需要注意的是sizeof(arr)这个数组名表示整个数组的大小,,arr也是表示数组的大小,除此之外遇到的数组名都是首元素的地址 int main() {int arr[10] {1,2,3,4,5,6,7,8,9,10};//prit(arr);printf(%p\n, arr);//整个数组的地址printf(%p\n, arr 1);printf(%p\n, arr[0]);printf(%p\n, arr 1);printf(%p\n, arr[0] 1);printf(%p\n, arr[0 1]);getchar();return 0; } 得到下一个元素的地址,的写法可以是如上图 #includestdio.h void prit(int arr[]) {printf(%p\n, arr);printf(%p\n, arr 1);printf(%p\n, arr);printf(%p\n, arr[0]);printf(%p\n, arr 1);printf(%p\n, arr[0] 1);printf(%p\n, arr[0 1]);printf(_________________); } int main() {int arr[10] {1,2,3,4,5,6,7,8,9,10};prit(arr);printf(%p\n, arr);//整个数组的地址printf(%p\n, arr 1);printf(%p\n, arr[0]);printf(%p\n, arr 1);printf(%p\n, arr[0] 1);printf(%p\n, arr[0 1]);getchar();return 0; } 这个代码可以更清楚传arr和传arr的区别 总结: 数组的定义和使用就暂时讲到这里了,有不懂的小可爱可以私聊我
http://www.tj-hxxt.cn/news/218323.html

相关文章:

  • wordpress安装到网站天眼查企业信息查询平台官网
  • app怎样下载安装广州建站优化公司
  • php和asp.net建立电商网站比较网站建设咨询什么
  • 创研科技网站南昌营销网站开发
  • 上海市政建设有限公司网站网站开发需多少钱
  • 名站在线网站做彩票
  • 直播网站开发需要多少钱自己开发一个app
  • 做网站云服务器还是云虚拟主机河北利用关键词优化网页
  • 做一个什么样的网站WordPress弊端
  • 企业信息网站模板网络科技工作室起名
  • 开通网站空间在哪个网站注册公司
  • 网站怎么申请怎么注册mt4外汇金融网站建设
  • 怎么免费注册网站上海网站建设设计制作
  • 网站建设论文 优帮云中信建设有限责任公司官网英文
  • 石家庄购物网站排名蓝海国际版网站建设
  • 做外卖的网站wordpress名片模板
  • 合肥企业自助建站做网站要多少费用
  • mvc 网站开发公司网站简历刷新怎么做
  • 外贸网站谷歌seo目前做哪个网站致富
  • 网站建设论文提纲wordpress安卓客户端
  • wordpress建站服务网站自己怎么做优化
  • 权威的网站建设公司石家庄最新封闭消息
  • 企业网站建立教程网站通栏尺寸
  • 九江做网站哪家便宜建站精灵网站模板
  • 网站建设汇报ppt建站宝盒成品网站演示
  • 北京网站首页排名公司四川省建设厅网站首页
  • h5类型的网站是怎么做的网站备案的影布怎么做
  • 宜春网站建设公司信阳网站建设策划方案
  • 定制网站费用网站后台域名
  • 一个公司可以有两个网站吗亚洲杯中国菲律宾