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

上海做网站公司黄江网站设计

上海做网站公司,黄江网站设计,响应式网站企业,上海网站建设联前言#xff1a;本篇文章#xff0c;我们将对一维数组#xff0c;和二维数组进行展开式的讲解#xff0c;并进行实际应用。 目录 一.一维数组 1.一维数组的创建和初始化 #xff08;1#xff09;数组的创建 #xff08;2#xff09;数组的初始化 2.一维数组的使用…前言本篇文章我们将对一维数组和二维数组进行展开式的讲解并进行实际应用。 目录 一.一维数组 1.一维数组的创建和初始化 1数组的创建 2数组的初始化 2.一维数组的使用 3.一维数组在内存中的存储 二.二维数组 1.二维数组的创建与初始化 1数组的创建 2数组的初始化 2.二维数组的使用 3.二维数组在内存中的存储 三.总结 一.一维数组 1.一维数组的创建和初始化 数组是一组相同类型元素的集合。 1数组的创建 创建方式 type_t        arr_name[const_n]; type_t         是数组的元素类型 [const_n]         是一个常量或常量表达式用来指定数组的大小 例如我们创建int类型和char类型的数组  int arr1[5]; int arr2[23]; char arr3[10]; [ ]内一定要是一个常量或者常量表达式。那么我们再来看一个数组创建 int a 5; int arr[a]; 上述数组的创建可以被允许吗事实上这牵扯到C语言的版本问题。 在C99之前数组的大小只能用常量指定但是在C99之后引用了变长数组的概念数组的大小便可以用变量来指定了。 但是博主现在所使用的VS2019以及VS2022都是不支持变长数组的。 2数组的初始化 初始化是指在数组创建的同时给数组输入一些合理的初始值。  int arr[5];//已知数组大小时可以只创建而不初始化 int arr1[10] {1,2,3};//不完全初始化剩余元素默认初始化为0 int arr2[] {1,2,3,4};//创建大小未知的数组时必须初始化默认大小为元素个数 int arr3[5] {1,2,3,4,5};//规范初始化元素个数与数组大小一致 char arr4[3] {a,98,c};//字符初始化要用单引号如果给的是数字则存在数组里的实际是数字所对应的ASCII码值所对应的字符例如98对应字符b,所以实际存进数组的是字符b。 char arr5[] {a,b,c};//常规字符初始化不满同样补0 char arr6[] abcdef;//直接输入字符串时用双引号 如上数组的初始化化有很多种方法其中值得注意的是arr5和arr6两种字符数组的初始化其中arr5是单个字符的输入arr6是字符串整体的输入这样arr6便会比arr5多输入一个\0。 2.一维数组的使用 对数组的操作则是通过下标引用操作符 [ ] 来实现。 如上图我们可以看到数组中元素的实际顺序是从0开始的也就是说假如我们要操作数组的第5个元素那就要用arr[4]而这个4我们则称为是数组元素的下标。 这里我们定义了一个char型的数组char型数组也可以接收数字只不过是想要打印出数字就必须用到%d。 如果我们想把数组的全部元素打印出来只需要用到for循环 循环打印数组元素时这里有一个陷阱那就是我们的循环变量i是数字元素的下标而数组元素的下标是元素的实际顺序减1所以这里的i要从0开始并且到9结束所以限制条件是i 10,而不是i 10。否则就会打印出多余的错误的结果造成数组越界。 同时我们也可以通过数组元素下标来对其值进行修改 如上我们将5改成1。 3.一维数组在内存中的存储 #includestdio.h int main() {int arr[10] { 1,2,3,4,5,6,7,8,9,10 };int i 0;arr[4] 1;for (i 0; i 10; i){printf(arr[%d] %p\n,i,arr[i]);}return 0; } 这里给大家补充一个小知识点当我们要打印一个数据所存放的地址时要用到%p。 由此我们可以看出随着数组下标的增长元素的地址也在有规律的增长每个地址直接相差4个字节而这正是一个int型数据所占用的字节数。因此我们可以得出结论 数组在内存中是连续存放的。 二.二维数组 二维数组与一维数组的区别并不大下面我们就来具体介绍一下二维数组。 1.二维数组的创建与初始化 1数组的创建 int arr[3][4]; char arr[4][5]; double arr[5][6]; 如果一维数组只是一条直线那么二维数组就是一个矩形第一个[]代表行第二个[]代表列。 2数组的初始化 int arr[3][4] {1,2,3,4,5,6,7};//不完全初始化会根据行数列数依次填充不满补0 int arr1[3][4] {1,2,3,4,5,6,7,8,9,10,11,12};//不规范初始化 int arr2[3][4] {{1,2,3,4},{5,6,7,8},{9,10,11,12}};//规范初始化每一行用一个大括号 int arr3[3][4] {{1},{2,3},{4,5,6}};//不完全初始化每一行空缺的位置补0 int arr4[][4] {{1,2,3,4},{5,6,7,8},{9,10,11,12}};//省略行数初始化会根据{}数来默认行数 int arr5[3][] {{1,2,3,4},{5,6,7,8},{9,10,11,12}};//省略列数初始化不允许会报错 2.二维数组的使用 二维数组的使用同样是通过下标。 #includestdio.h int main() {int arr[3][4] { {1,2,3,4},{5,6,7,8},{9,10,11,12} };printf(%d, arr[2][3]);return 0; } 假如我们要打印这个二维数组的元素12那么我们就要找到它所在的位置如下图所示为2行3列  那么如果我们要遍历整个数组又该怎么办呢 很简单只需要用到嵌套循环便可 #includestdio.h int main() {int arr[3][4] { {1,2,3,4},{5,6,7,8},{9,10,11,12} };int i 0;int j 0;for (i 0; i 3; i){for (j 0; j 4; j){printf(%d , arr[i][j]);}printf(\n);}return 0; } 用外层循环来控制行数内层循环来控制列数这样便可以轻松实现二维数组的遍历如果我们希望打印出来的格式为3行那么我们就要在内层循环结束时输出一个\n来换行。 3.二维数组在内存中的存储 #includestdio.h int main() {int arr[3][4] { {1,2,3,4},{5,6,7,8},{9,10,11,12} };int i 0;int j 0;for (i 0; i 3; i){for (j 0; j 4; j){printf(arr[%d][%d] %p\n,i,j, arr[i][j]);}}return 0; } 我们同一维数组一样来看看二维数组是怎么在内存中存储的 我们能够看出二维数组的元素存储在内存中也是连续的每一行的末尾与下一行的开头相连。 事实确实如此小伙伴们可不要理所当然的以为二维数组在内存中就是分行存放的分行只是我们想象中的二维数组的具象化但其实在内存中并不是。 二维数组的元素同样也是随着下标的增长内存不断增加。 三.总结 数组的讲解到这里就要结束啦喜欢博主文章的小伙伴们不要忘记一键三连哦 我们下期再见
http://www.zqtcl.cn/news/234876/

相关文章:

  • 注册网站的流程南京今天的最新消息
  • 做网站的没有进项票怎么办张家口市一建公司官网
  • 建设网站的本质智慧团建手机版
  • 嘉兴网站建设有前途吗沈阳男科医院排名10强名单公布
  • 手机网站变灰17种新型商业模式
  • 图书网站开发需求文档模板做网站现在用什么语言
  • 创建网站主题在哪里接单赚钱平台
  • 企业做网站的流程权威发布新闻的含义
  • 国外大型购物网站桂林视频网站制作
  • 平度那里有做网站的网站设计技术入股
  • 张家港专业做网站网站设计与建设ppt
  • 香奈儿网站设计分析网站建设新闻发布注意事项
  • 建设网站策划南京网站开发建设
  • 哪些网站可以做任务挣钱如何查询企业电话号码
  • 福田网站 建设深圳信科手机 网站制作
  • 网站站内优化方案佛山外贸网站建设哪家好
  • 厦门市网站建设局平台网站如何优化
  • 电子书网站用dz还是wordpresswordpress搭建购物网站
  • 广西住房和城乡建设培训中心网站吴江住房和城乡建设部网站
  • 游戏网站的导航条怎么做的安阳县属于哪个省哪个市
  • 网站建设科目国内有多少家做网站的企业
  • 如何建立一家公司网站江苏网站推广公司
  • 城市管理如何宣传市建设网站cms软件有什么功能
  • 网站建设优势网站为什么吸引人
  • 域名如何做网站网站导读怎么做
  • 那些网站可以做问答免费设计室内装修app软件
  • 白银做网站视频制作软件下载安装
  • 商城网站建设最新报价现在网站建设的技术
  • 网站设计思路方案广东深圳软件开发公司
  • 企业网站可以免费做吗网站建设管理内容保障制度