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

企业网站报价方案模板历下区网站建设公司

企业网站报价方案模板,历下区网站建设公司,上海短视频推广,织梦网站如何做二级导航栏C语言 主要内容 数组 二维数组 数组 二维数组 定义 二维数组本质上是一个行列式的组合,也就是说二维数组由行和列两部分组成,属于多维数组。二维数组数据是通过行列进行解读。二维数组可被视为一个特殊的一维数组,相当于二维数组又是一…

C语言

主要内容

  • 数组
    • 二维数组

数组

二维数组

定义
  • 二维数组本质上是一个行列式的组合,也就是说二维数组由行和列两部分组成,属于多维数组。二维数组数据是通过行列进行解读。
  • 二维数组可被视为一个特殊的一维数组,相当于二维数组又是一个一维数组,只不过它的元素是一维数组。(也就是说数组的元素的类型可以是数组类型)
语法:
数据类型 数组名[行数][列数]; // 二维数组外层表示行数,内层表示列数

举例:

int arr[3][3] = {{11,12,13},{21,22,23},{31,32,33}}; // 正确,等价于下面写法
int arr[][3] = {{11,12,13},{21,22,23},{31,32,33}}; // 正确,广义上称之为柔性数组int arr[3][3] = {{11,12},{21,22,23},{31}}; // 正确,等价于下面写法
int arr[3][3] = {{11,12,0},{21,22,23},{31,0,0}};// 正确int arr[3][3] = {}; // 正确,所有的元素使用0填充
int arr[3][3] = {{11}}; // 正确,未初始化的元素使用0填充int arr[][] = {{11,12,13},{21,22,23},{31,32,33}}; // 错误,这种写法,会编译标错,不能省略列数
int arr[3][] = {{11,12,13},{21,22,23},{31,32,33}};// 错误,这种写法,会编译标错,不能省略列数

注意:在C语言中,二维数组在计算机的存储顺序是按行进行的,即第一维的(行)下标变化慢,第二维的(列)下标变化快。

应用场合

主要应用于数据有行列要求的情况。

特殊写法
  • 下标可以是整型表达式,如: a[2-1][2*2-1]

  • 下标可以是已经有值的变量或数组元素,如: a[2*x-1][b[3][1]]

  • 数组元素可以出现在表达式中,如: b[1][2] = a[2][3]/2

注意:使用数组元素的下标应在已定义数组的大小范围内;应注意区别定义数组大小和引用数组元素的区别。

初始化
  • 分行给二维数组赋初值

    int arr[3][4] = {{11,12,13,14},{21,22,23,24},{31,32,33,34}};
    
  • 可将所有数据写在一个花括号内,按照排列顺序对元素赋值

    int arr[3][4] = {11,12,13,14,21,22,23,24,31,32,33,34};
    
  • 可对部分元素赋初值,其余未赋值部分自动填充整型默认值-0 | 字符型默认值-\0 | 浮点型默认值-0.0..

    int arr[3][4] = {{11},{21,22},{31}};
    
  • 若对全部元素赋初值,自定义数组时可以省略第1维数组的长度,第2维数组的长度必须指明。

    int a[][4] = {11,12,13,14,21,22,23,24,31,32,33,34};
    
  • 在分行赋初值时,也可以省略第1维的长度。

    int arr[][4] = {{11,12,13},{0},{0,10}};
    
二维数组的案例

案例1:

  • 需求:二维数组的遍历

  • 代码:

    #include <stdio.h>int main()
    {// 创建一个二维数组,经过论证,二维数据组必须指定列的大小,行的大小可以省略int arr[][3] = {{11},{21,22},{31,32,33}};// 获取二维数组的大小int r_len = sizeof(arr) / sizeof(arr[0]);// 遍历二维数组// 外层循环,遍历行元素(行元素是数组类型)for (int row = 0; row < r_len; row++){// 获取行元素中列元素的个数int c_len = sizeof(arr[row]) / sizeof(int);// 内层循环,遍历列元素(列元素是单一类型)for (int col = 0; col < c_len; col++){// 获取元素printf("%-3d",arr[row][col]); // 意思是获取数组arr第row行第col列}}printf("\n");return 0;
    }
    

案例2:

  • 需求:矩阵的转置(将一个2行3列的数组转换为3行2列的数组)

  • 代码:

    #include <stdio.h>// 定义行和列
    #define ROW 2
    #define COL 3int main()
    {// 准备2个数组用来存放转置前后的数列int arr_before[ROW][COL] = {{11,12,13},{14,15,16}};int arr_after[COL][ROW] = {0};// 计算arr_before的大小int r_len = sizeof(arr_before) / sizeof(arr_before[0]);// int c_len = sizeof(arr_before[0]) / sizeof(arr_before[0][0])// 遍历for (int i = 0; i < r_len; i++){// 计算arr_before中行中的列数int c_len = sizeof(arr_before[i]) / sizeof(int);for (int j = 0; j < c_len; j++){printf("%-4d",arr_before[i][j]);// 转置arr_after[j][i] = arr_before[i][j];}printf("\n");}printf("\n");// 遍历for (int i = 0; i < sizeof(arr_after)/sizeof(arr_after[0]);i++){for (int j = 0; j < sizeof(arr_after[i]) / sizeof(int); j++){printf("%-4d",arr_after[i][j]);}printf("\n");}printf("\n");return 0;
    }
    
http://www.yayakq.cn/news/432734/

相关文章:

  • 怎样做网站优化 知乎表白网站在线制作软件
  • 沈阳网站制作 600元郑州专业seo首选
  • 重庆注册公司核名在哪个网站网站建设续费合同
  • 网站建设与网页设计论述题大朗镇住房规划建设局网站
  • 锡林郭勒盟建设工程管理网站网站推广策划方案和网站推广执行方案的区别
  • 中国第四冶金建设有限公司官方网站全国房产信息查询系统
  • 网站建设的前端用什么编程网络营销软文
  • 制作一个网站数据库怎么做的六盘水做网站
  • 网站建设业室内设计图片效果图
  • 自己做的网站注册用户无法收到激活邮箱的邮件杭州网站seo推广软件
  • 青海教育厅门户网站dedecms网站地图路径修改生成后 网站地图前台路径不变
  • 怎么样给一个网站做横向导航栏犀牛云网站建设特点
  • 用织梦做网站费用哈尔滨建站模板厂家
  • 网站建设行业地位快手营销软件
  • 本地网站架设工具wordpress设置静态
  • 做网站怎样做宁波微信小程序开发公司
  • 网站反链一般怎么做在线免费网站建设
  • 南京小程序网站开发宜昌市城市建设学校网站
  • 广东微信网站制作报价什么是网络营销的核心工作
  • 专业的建设企业网站wordpress同步社交
  • 物流企业网站源码广东seo推广工具
  • 赣州企业网站建设公司临沂有哪几家做网站的
  • 小区的名字建设单位去什么网站备案wordpress文章打赏
  • 做视频比较好的理财网站长垣住房和城乡建设局 网站
  • 电销网站建设网络规划与设计是什么专业
  • 做网站后开办会员腾讯云服务器怎么搭建网站
  • 如何建设一个网站一对一优势的网络营销方式
  • 网站备案个人好还是企业好东莞企业模板建站
  • 网站悬浮窗代码企业网站策划方案书
  • ps怎么做网站的首页图片编辑器在线制作