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

百度网盟推广 网站四川建设网有限责任公司官网

百度网盟推广 网站,四川建设网有限责任公司官网,深圳的互联网公司有哪些,python 创建wordpress数组 数组,就是多个元素的有序“组合”。C和C语言中的数组:相同大小的内存块组成,即相同类型的数据、 编号从0开始递增、而且这些编号是递增顺序。数组的“容量”是不能改变的。 数组的定义 数组和其他变量一样,需要先定义&…

 数组

        数组,就是多个元素的有序“组合”。C和C++语言中的数组:相同大小的内存块组成,即相同类型的数据、 编号从0开始递增、而且这些编号是递增顺序。数组的“容量”是不能改变的。

数组的定义

数组和其他变量一样,需要先定义,再使用。

实例:int   a[8];        //定义了一个数组,数组名是“a”,包含8个元素,每个元素是int类型的变量,8个变量是连续存储在内存中的

a[0] = 20;        a[1] = 5;

数组的初始化

在定义数组的同时,设置数组内的元素值。        

int a[8] = {20, 5, 30, 13, 18};
printf("%d,%d,%d,%d,%d\n", a[0],a[1],a[2],a[3],a[4]);
//或者cout << a[0] << “,” << a[1] << “,” << a[2] << “,” << a[3] << “,” << a[4];
int a[8] = {0};  //把数组的所有元素都初始化为0
int a[8] = {1};  //把a[0]初始化为1,其它值都初始化为0
int b[8] = {1, 5};  //把a[0]初始化为1,a[1]初始化为5,其它值都初始化为0
int a[] = {1,2,5}; //定义数组a, 这个数组包含3个元素!
// 根据“初始化列表”,自动计算数组的容量
/*
高逼格用法(在某些特殊场合使用)
优点:但数组的成员较多时,该方式可读性高
缺点:仅仅C编译器支持,C++编译器中不支持,即C++程序中不能使用。
//每周的锻炼时间:
int exercises[7] = {
[1] = 1, //a[1] = 1
[3] = 2, //a[3] = 2
//没有指定的成员,被初始化为0
};
*/

数组的内元素的访问

通过下标访问对应的元素。特别注意, 数组的第一个元素的下标是0, 而不是1。

另类用法:使用下标的方式访问string字符串

string name = "12345";
//name[i]是string字符串中的第i个字符(char类型)
for (int i=0; i< name.length(); i++) 
{cout << name[i];
}
name[0] = 'L';  //name变成:L2345
cout << endl << name;

数组的越界

数组的越界, 是指下标超出正常的范围!例如:int  a[10];  //a[-1] 和 a[10]都是越界!

越界后果:可能导致数据破坏,或其他不可预期的后果!

越界控制:需要程序员自己手动控制,编译器不做任何检查!因为,C/C++语言完全信任程序员!

C风格的字符串详解

C语言字符串的存储、初始化

字符串,是通过“字符数组”(元素类型为char的数组)来存储的!

//demo1
char  name[10];
name[0] = '1';
name[1] = '2';
name[2] = '3';
name[3] = '4';
name[4] = 0;  //字符串结束符0,就是 '\0'
printf("姓名:%s", name); 
name[2] = 0;
printf("姓名:%s", name);   //demo2
char  name[10] = "1234"; //相当于char name[10] = {'1', '2', '3', '4', '\0'};
printf("姓名:%s", name);//demo3
char  name[] = "1234";  //相当于:name[5] = "1234"
printf("%d", sizeof(name)); //5

二维数组

二维数组,就是指含有多个数组的数组!如果把一维数组理解为一行数据,那么,二维数组可形象地表示为行列结构。

二维数组的定义:和数组一样,需要先定义,再使用。

int a[5][25];  //定义了一个二维数组,数组名是“a”,包含 5 行 25 列,共 125 元素,每个元素是 int 类型的变量

二维数组的初始化:

int a[3][4]; //二维数组元素的值可能是随机的(全局变量会初始化为 0,局部变量值随机)

方式一 初始化时指定每行的值

int a[3][4]={    //等效于 int a[][4]
{1},//省略掉的会默认置零
{5,6,7},
{9,10,11,12}
};
//注:最外围括号内部的每个括号相当于初始化一行,括号中可以省略某些元素的初始化

方式二 初始化时从头开始,依次序进行

int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

int a[3][4]={1}; //只初始化第一个,其他得默认置零

二维数组的访问

如下图表示,左侧表示的是一个大小为 M+1 的一维数组,右侧表示的是一个大小为(M+1)*(N+1)的二维数组。

二维数组的存储方式

一维数组是按顺序存储的,二维数组呢? 同样也是!

二维数组作为函数的参数 

切记! 数组作为函数的参数传递,不是单纯的值传递,传递的是数组本身。

数组常见错误总结

数组定义时编译器不能确定数组的大小

int a[3][] ;        int a[][4] ;        int a[3][]={{1,2},{3,4},{5,6}}

一条原则:仅定义时(无初始化)不能省略,有初始化可以省略高维。

严禁数组越界。数组(无论几维)传参并不是整个数组的复制

http://www.dtcms.com/a/406316.html

相关文章:

  • 破局渠道垄断:青蓝的流量入口变现路径
  • 【C++STL :string类 (二) 】从接口应用到内存模型的全面探索
  • 学做面包到什么网站网站点击按钮回到页面顶部怎么做
  • 领航 网站设计主机屋怎么做网站
  • 在VTK中实现相机自动绕轴旋转
  • 关于解决switch开关属性中active-value=“1“为数值形失败的问题
  • Seata 深度解析:微服务分布式事务管理的实践指南
  • LeetCode:53.课程表
  • 中国县域经济韧性(2006-2021)
  • MySQL零基础学习Day3——函数和约束
  • Bililive-go+cpolar:跨平台直播录制的远程管理方案
  • 飞马无人机正射/倾斜影像数据预处理
  • 2025 AI 技术跃迁与产业融合:从实验室到价值场
  • 济源网站建设价格蓝色系网站
  • MySQL InnoDB缓冲池优化全指南
  • Redis 内存淘汰策略 LRU 和传统 LRU 差异
  • 焞煌网站怎么做产品营销型网站建设
  • 【C++】:stack、queue和deque全面讲解
  • 【MySQL学习笔记】数据库的CURD(一)
  • 使用Excel在标签打印软件快速新建标签,表格导入并实现批量打印
  • WEB日常刷题练习(1)
  • 信阳网站建设的费用潍坊网站建设维护
  • Kafka-消息不丢失
  • 如何查看一个网站用什么程序做的wordpress文章发布保存都不行
  • ReactFlow:构建交互式节点流程图的完全指南
  • 实战:基于 BRPC+Etcd 打造轻量级 RPC 服务——从注册到调用的核心架构与基础实现
  • 多语言网站建设幻境网站开发人员的岗位有
  • 19.9咖啡项目:工程项目级别的IIC主从机模块
  • 【遥感技术】​从CNN到Transformer:基于PyTorch的遥感影像、无人机影像的地物分类、目标检测、语义分割和点云分类
  • PyTorch深度学习遥感影像地物分类与目标检测、分割及遥感影像问题深度学习优化技术