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

吉林省建设厅网站评职称系统广州建设银行网站

吉林省建设厅网站评职称系统,广州建设银行网站,网站服务器人多怎么挤进去,wordpress ip修改密码目录 一维数组 二维数组 数组越界 数组作为函数参数 一维数组 数组是一组相同类型元素的集合。 创建数组 type arr[n] {...} type是数组的元素类型; arr 是数组名; n 是常量或常量表达式,用来指定数组的大小。 根据数组的索引来获取对…

目录

一维数组

二维数组

数组越界

数组作为函数参数


一维数组

数组是一组相同类型元素的集合。

创建数组

type arr[n] = {...}  

type是数组的元素类型; arr 是数组名; n 是常量或常量表达式,用来指定数组的大小。

根据数组的索引来获取对应元素,索引从 0 开始。

不写 n  的值,则根据大括号中的元素个数自动分配空间。

在C99标准之前,数组的大小必须是常量或常量表达式。

在C99标准之后,数组的大小可以是变量,为了支持变长数组,变长数组不能初始化。

数组的初始化

数组的初始化是指,在创建数组的同时给数组的内容一些合理的初始值(初始化)。

如 intarr[10] = {1,2,3}        // 不完全初始化,剩下的元素默认初始化为0

一维数组的使用

[] , 下标引用操作符。它其实就是数组访问的操作符。

计算数组元素个数

sizeof ( arr ) / sizeof ( arr[0] ) 

一维数组在内存中的存储

数组在内存中是连续存放的。随着数组下标的增加,地址也按数组元素大小的跨度(step)增加。

二维数组

二维数组创建

type arr[a][b]        // 创建一个 a 行 b 列的数组

例:int arr[2][3] = {1,2,3,4,5,6};   // 按元素个数自动分配

例:int arr[2][3] = { {1, 2} , { 3, 4, 5} };         // 自己定义每行的元素

例:int arr[ ][3] = {1,2,3,4,5,6};         // 可以省略行数,但不能省略列数

二维数组的使用

行和列的索引都是从 0 开始的。

可以通过嵌套循环的方式遍历数组。

计算二维数组的元素个数

sizeof (arr)  /  sizeof (arr[0][0]) 

二维数组在内存中的存储

同一维数组一样,二维数组在内存中也是连续存放的。二维数组的存放按 行 展开(reshape(1, -1))。随着数组下标的增加,地址也按数组元素大小的跨度(step)增加。

数组越界

数组的下标是有范围限制的。

数组的下标规定是从0开始的,如果数组有n个元素,最后一个元素的下标就是 n-1。

所以数组的下标如果小于0, 或者大于 n-1, 就是数组越界访问了,超出了数组合法空间的访问。

C语言本身是不做数组下标的越界检查,编译器也不一定报错(越界的部分会打印随机值),但是编译器不报错,并不意味着程序就是正确的。

数组作为函数参数

注意:当数组作为参数传递给函数时,不能在函数内部计算数组的大小。

因为传进函数的数组名(arr)是数组首元素地址(&arr[0])

// 数组传参, 形参有两种写法
// 数组的形式,指针的形式
// 形参是数组的形式
void bubble_sort(int arr[], int sz) {// 趟数// 传进来的arr是首元素的地址,无法使用sizeof计算数组的长度,应该直接传递一个sz的参数//int sz = sizeof(arr) / sizeof(arr[0]);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 temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp; }}}}// 冒泡排序,升序
int main() {int arr[] = {9,8,7,6,5,4,3,2,1,0};int sz = sizeof(arr) / sizeof(arr[0]);bubble_sort(arr, sz);  // 数组传参只传数组名for (int i = 0; i < sz; i++) {printf("%d ", arr[i]);}return 0;
}

数组名确实能表示首元素的地址

但是有两个例外:

1.sizeof(数组名), 这里的数组名表示整个数组,计算的是整个数组的大小,单位是字节

2.&数组名,这里的数组名表示整个数组,取出的是整个数组的地址。 

int main() {int arr[] = { 1,2,3,4,5 };printf("%p\n", arr);printf("%p\n", arr+1); // 加的是一个元素的长度printf("----------------------\n");printf("%p\n", &arr[0]);printf("%p\n", &arr[0]+1);	// 加的是一个元素的长度printf("----------------------\n");printf("%p\n", &arr);printf("%p\n", &arr+1);	// 加的是一个数组的长度return 0;
}

二维数组的数组名(arr)也表示首元素地址, 表示的是 arr[0] 这一行的地址。

int main() {int arr[3][4];int sz = sizeof(arr);printf("%zu\n", sz);// 打印行数int sz_row = sizeof(arr) / sizeof(arr[0]);printf("%zu\n", sz_row);// 打印列数int sz_col = sizeof(arr[0]) / sizeof(arr[0][0]);printf("%zu\n", sz_col);printf("%p\n", arr);printf("%p\n", arr+1);return 0;
}


文章转载自:

http://kKD1UN6C.yrhsg.cn
http://8SNhiGoL.yrhsg.cn
http://t5Qsr4fV.yrhsg.cn
http://5Ll3rtfd.yrhsg.cn
http://KVQKABXD.yrhsg.cn
http://l5ao52eA.yrhsg.cn
http://rhbd3Qe3.yrhsg.cn
http://fZq0LhlR.yrhsg.cn
http://T86dl3uU.yrhsg.cn
http://VsUahsSK.yrhsg.cn
http://UheT482l.yrhsg.cn
http://hL1GOwBl.yrhsg.cn
http://blDPLaoX.yrhsg.cn
http://pbFUZ8Bi.yrhsg.cn
http://hQNEJP9H.yrhsg.cn
http://SzuzCdtc.yrhsg.cn
http://YOnBaaia.yrhsg.cn
http://jlzkqeeE.yrhsg.cn
http://izGvMSl1.yrhsg.cn
http://7BtKqVt4.yrhsg.cn
http://mwX3ZweQ.yrhsg.cn
http://AYqf7KUM.yrhsg.cn
http://alc4b0pK.yrhsg.cn
http://LtpiNYxc.yrhsg.cn
http://D65g7cSK.yrhsg.cn
http://ZqbFPWKC.yrhsg.cn
http://BEoGcQXs.yrhsg.cn
http://BCwFaW0r.yrhsg.cn
http://HSd56DRJ.yrhsg.cn
http://hmOBqTOp.yrhsg.cn
http://www.dtcms.com/wzjs/767933.html

相关文章:

  • 网站制作的基本步骤衡水龙腾网站建设
  • 龙岩网站设计较好的公司四川省住房与城乡建设厅网站官网
  • 用python怎么做网站规模以上工业企业是指什么
  • 电影网站如何建设会员式做网站首页ps中得多大
  • 做选择网站聊城哪里可以学网站建设呢
  • 哪个网站可以做魔方图片网易企业邮箱入口官网
  • 网站如何搭建郑州石凡平面设计有限公司
  • 在线制作网站宣传视频做网站简单的软件
  • wordpress安装网站吗企业信息系统的功能和特点
  • 合肥网站排名优化公司合肥seo建站
  • 马云做一网站 只作一次易语言网站开发
  • 如何建立自己的网站上传WordPress之后
  • 网站logo一般做多大提供微网站制作多少钱
  • 南昌优化网站分析一个公司做两个网站
  • 六安网红小杨哥郑州seo技术
  • 免费域名网站工业云网站建设
  • 怎么形容网站风格wordpress 4.7 模板
  • 网站建设需要哪些网络技术如何查询网站服务器地址
  • 汕头h5建站模板长春做网络推广的公司
  • wordpress多站点版企业邮箱免费注册入口
  • 外贸企业网站模板建设可以吗扬中话
  • wordpress网站绑定多个域名15年做哪个网站能致富
  • 西安企业网站建设代理机构东莞 网站 建设 汽车
  • 防伪码做网站的还能没导入吗wordpress怎么做分页
  • 盘锦做网站建设的河南软件开发公司有哪些
  • 网站报301错误phpcms做装修网站
  • 跨境浏览网站网站横幅js代码
  • 利用php做网站教程青海宾馆网站建设公司
  • 做个企业网站多少钱知名的设计公司网站
  • 安徽省建设工程造价管理协会网站建设用地规划许可证查询网站