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菜鸟教程, ...
随机推荐
- kafka零数据丢失的配置方案
讨论一下kafka参数的配置 1.acks 参数配置 acks这个参数有三个值:0,1,-1,但是不用的参数对应的含义不同,那如果我们想要保证数据不丢失,acks 值应该设置为哪个参数呢? 0:代表生 ...
- 《redis 5设计与源码分析》:第二章 简单动态字符串
介绍 简单动态字符串(Simple Dynamic Strings, SDS)是Redis的基本数据结构之一,用于存储字符串和整型数据.它的特点是:方便扩容.二进制安全. 二进制安全 在C语言中,用& ...
- roslaunch保存的log文件没有打印的ERROR信息
最近调试,发现roslaunch启动的节点,log文件中没有ERROR信息. 经过一番查证发现,INFO和WARN是保存在log文件中,ERROR直接打印在terminal 参考: https://g ...
- Linux centos7 复制,移动,删除文件或文件夹
2021-08-121. 文件(文件夹)复制命令 # 命令格式 cp [-adfilprsu] 源文件(source) 目标文件(destination) cp [option] source1 so ...
- 使用 IDEA 配合 Dockerfile 部署 SpringBoot 工程
准备 SpringBoot 工程 新建 SpringBoot 项目,默认的端口是 8080 ,新建 Controller 和 Mapping @RestController public class ...
- k8s 存活探针(健康检查)
重启策略 (RestartPolicy ) Always:当容器终止退出后,总是重启容器,默认策略. OnFailure:当容器异常退出(退出状态码非0)时,才重启容器. Never:当容器终止退出, ...
- WebService学习总结(三)--调用第三方提供的webService服务
互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示,下面就以获取电子邮箱验证和查询火车时刻表和天气预报 ...
- AFL++ Fuzz一个libexif例子
CVE-2009-3895 首先在NVD找到漏洞描述如下: 大致意思是说:libexif 0.6.18 中的 libexif/exif-entry.c 中的 exif_entry_fix 函数中基于堆 ...
- Git 系列教程(3)- 初次运行 Git 前的配置
前言 直接搬官网教程,再修改下,先啰嗦可以直接看以前的文章 Window初始化Git环境 https://www.cnblogs.com/poloyy/p/12185132.html Linux初始化 ...
- 学了这么多年C语言,你真的知道全局变量,局部变量,静态变量,本地函数,外部函数是如何区分标识的吗?
动态库内容分析 文章目录 动态库内容分析 1. 动态库编译 1.1 第一个C文件:basic.c 1.2第二个C文件:demo.c 1.3第三个C文件:main.c 2.动态库编译 3.二进制内容分析 ...