C++学习 1 数组
一维数组:
定义:1、数据类型 数组名 [ 数组长度 ];
int arr [5];
//赋值
arr[0]=10;
arr[1]=20;
arr[2]=30;
arr[3]=40;
arr[4]=50;
2、数据类型 数组名 [ 数组长度 ] = {1,2,3};
int arr2[5]={10,20,30,40,50};
cout << arr2[0] << endl;
cout << arr2[1] << endl;
cout << arr2[2] << endl;
cout << arr2[3] << endl;
cout << arr2[4] << endl;
3、数据类型 数组名 [ ] = {1,2,3};
int arr3[]={10,20,30,40,50};
特点:1、放在一块连续的内存空间;
2、数组中每个元素都是相同的数据类型;
数组名用途:
#include<iostream>
using namespace std;
int main()
{
//数组名用途: //1、可以通过数组名统计整个数组占用内存大小
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
cout << "整个数组占用内存空间大小为:" << sizeof(arr) << endl;
cout << "每个元素占用内存大小为:" << sizeof(arr[0]) << endl;
cout << "数组中的元素个数为:" << sizeof(arr) / sizeof(arr[0]) << endl; //2、可以查看数组首地址
cout << "数组首地址为:" << (int)arr << endl; //(int)arr是将地址强制转换为int类型
cout << "数组中第一个元素的地址为:" << (int)&arr[0] << endl; //&arr[0] 是取址 取arr[0]的地址
return 0;
}
二维数组:
定义:1、数据类型 数组名 [行数] [列数];
2、数据类型 数组名 [行数] [列数]={{1,2},{3,4}};
3、数据类型 数组名 [行数] [列数]={1,2,3,4};
4、数据类型 数组名 [ ] [列数]={1,2,3,4};
二维数组数组名:
1、查看二维数组所占内存空间
2、获取二维数组首地址
实例:
#include<iostream>
using namespace std; int main()
{
//二维数组名称用途 //1、可以查看二维数组所占内存空间
int arr[2][3] =
{
{1,2,3},
{4,5,6}
};
cout << "二维数组占用内存空间大小为:" << sizeof(arr) << endl;
cout << "二维数组第一行占用内存空间大小为:" << sizeof(arr[0]) << endl; //arr[0]: 0 表示第一行
cout << "二维数组第一个元素占用内存空间大小为:" << sizeof(arr[0][0]) << endl; //arr[0][0]: [0][0]表示第一行第一个元素 cout << "二维数组行数为:" << sizeof(arr) / sizeof(arr[0]) << endl; // 占用内存空间总大小 / 第一行占用内存空间大小 = 数组行数
cout << "二维数组列数为:" << sizeof(arr[0]) / sizeof(arr[0][0]) << endl; // 第一行占用内存空间大小 / 第一行第一个元素占用内存空间大小 = 数组列数 //2、可以获取二维数组首地址 cout << "二维数组首地址为:" << (int)arr << endl; //直接输出arr就行,加(int)是将16进制强转为10进制
cout << "二维数组第一行首地址为:" << (int)arr[0] << endl; //打印结果为14089360
cout << "二维数组第二行首地址为:" << (int)arr[1] << endl; //打印结果为14089372 所差的12字节为第一行的3个整型所占字节 即第二行数组的地址紧挨着第一行 cout << "二维数组第一个元素首地址为:" << (int)&arr[0][0] << endl; //打印结果为14089360
cout << "二维数组第二个元素首地址为:" << (int)&arr[0][1] << endl; //打印结果为14089364 system("pause");
return 0;
}
C++学习 1 数组的更多相关文章
- PHP学习之中数组-遍历一维数组【2】
在PHP学习之中数组[1]中学会怎么创建一个数组,如果PHP学习之中数组[1]中的元素多的话,我们访问元素又是一个问题了,下面我们就使用for语句while,foreach来遍历我们的数组: < ...
- Python学习之数组类型一:
Python学习之数组类型一: Numpy中的向量与矩阵: 1.创建: 向量.矩阵均由array函数创建,区别在于向量是v=array( [逗号分隔的元素] ), 矩阵是M=array( [[ ]] ...
- [ 转载 ] Java基础12--基础学习总结——数组
java基础学习总结——数组 一.数组的基本概念 数组可以看成是多个相同类型数据组合,对这些数据的统一管理. 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量. 数组的 ...
- Numpy学习之——数组创建
Numpy学习之--数组创建 过程展示 import numpy as np a = np.array([2,3,9]) a array([2, 3, 9]) a.dtype dtype('int32 ...
- [jQuery学习系列二 ]2-JQuery学习二-数组操作
前言 上一篇内容 已经对于Jquery 有了一些认识, 包括Jquery的选择器和DOM对象, 那么这一篇继续来看下Jquery中很实用的Jquery对于数组的操作. Jquery中对数组的操作大致有 ...
- Java菜鸟学习笔记--数组篇(三):二维数组
定义 //1.二维数组的定义 //2.二维数组的内存空间 //3.不规则数组 package me.array; public class Array2Demo{ public static void ...
- Java SE学习之数组——匿名数组和不规则数组
本文是学习网络上的文章时的总结以及自己的一点实践.感谢大家无私的分享. 近期偶然遇到了数组的问题,学习了匿名数组和不规则数组. 匿名数组适用于仅仅使用一次的情况:不规则数组适用是每行数据总数不确定的情 ...
- Scala学习(三)----数组相关操作
数组相关操作 摘要: 本篇主要学习如何在Scala中操作数组.Java和C++程序员通常会选用数组或近似的结构(比如数组列表或向量)来收集一组元素.在Scala中,我们的选择更多,不过现在我们先假定不 ...
- PHP学习3——数组
主要内容: 简介 常用的方法 循环遍历数组 PHP预定义数组 数组的处理函数 数组 PHP由于是弱类型的语言,他的变量类型是可以自由变换的,他的数组很自由,长度是可以动态增加的. 他的索引默认为数字0 ...
- go语言学习(一):数组/切片
学习区块链之后,发现还要学习加密,接触到的视频是:Go的crypto包,所以开始接触Go.因为和solidity有些相似,但是比solidity简单一些,就开始放松的心态去学习.每天翻着go菜鸟教程, ...
随机推荐
- java实现全排列输出
java实现全排列输出 转自:http://easonfans.iteye.com/blog/517286 最近在找工作,面试java程序员或者软件工程师,在笔试的时候常常见到这么一道题:全排列 的输 ...
- springcloud超时重试机制的先后顺序
https://blog.csdn.net/zzzgd_666/article/details/83314833
- promise加载图片
实现一个图片的加载:设置第一张图片加载1s之后加载第二张图片: <!DOCTYPE html> <html> <head> <meta charset=&qu ...
- Linux压缩解压 tar.gz格式的文件.查看tomcat是否运行
tar命令详解 -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用 ...
- 一个基于activiti审批流程示例,如何与系统整合
前言 目前市场上有很多开源平台没有整合工作流,即使有,也是价格不菲的商业版,来看这篇文章的估计也了解了行情,肯定不便宜.我这个快速开发平台在系统基础功能(用户管理,部门管理-)上整合了工作流,你可以直 ...
- 20210716考试-NOIP16
考场时Prim的 $i$ 写成 $k$ 100->0 rank1->rank23 T1 Star Way To Heaven 考场正解:假设你要二分答案,则几个圆组成几道"屏障& ...
- Java关键字-static汇总
1.静态变量(被static修饰的成员变量) 1-静态变量 运行时,Java虚拟机只为静态变量分配一次内存(加载类的过程中完成静态变量的内存分配) 类的内部可以在任何方法内直接访问静态变量 其他类中可 ...
- Filter案例之敏感词过滤和代理模式
一.需求分析 二 .代理模式 1.概念 2.代码实现 代理对象可以强转为真实对象,即对应的接口类: 3.通过代理增强方法 其中,方法对象invoke真实对象,反射原理: 三.过滤敏感词汇案例代码实现 ...
- NOIP模拟51
樱花满地集于我心,楪舞纷飞祈愿相随 前言 太菜了,人手切掉两个题,我竟然一道都不会.. 改 T3 的时候整个人的心态都崩掉了,一部分原因可能是语文素养不高导致我看不懂题解. 另一部分可能就是系太不太好 ...
- 【分布式微服务企业快速架构】SpringCloud分布式、微服务、云架构快速开发平台源码
鸿鹄云架构[系统管理平台]是一个大型 企业.分布式.微服务.云架构的JavaEE体系快速研发平台,基于 模块化.微服务化.原子化.热部署的设计思想,使用成熟领先的无商业限制的主流开源技术 (Sprin ...