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菜鸟教程, ...
随机推荐
- VS code快速创建vue模板
忘记了.vue文件的格式或者不想手动敲那段模板代码怎么办?VS code快速创建vue模板帮你偷个小懒 第一步:新建模板并保存 打开 VS code,依次点击 file > Preference ...
- 前端 | 页面触底自动加载 Vue 组件
不管是 web 端还是移动端,信息流都是现在很流行的信息展示方式.信息流经常搭配自动加载一起使用以获得更好的使用体验. 最近在使用 Vue 开发过程中也遇到了首页信息流自动加载的需求.大致了解了一下几 ...
- [转]dd大牛的《背包九讲》
P01: 01背包问题 题目 有N件物品和一个容量为V的背包.第i件物品的费用是c[i],价值是w[i].求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大. 基本思路 这是最 ...
- deepin-terminal改造风云再起
1. 创作背景 使用deepin-terminal的时候,我发现一些小的问题. 在论坛的帖子(https://bbs.deepin.org/zh/post/224502)也总结反馈了这些问题 终端标签 ...
- String转double失去精度问题
最近遇到一个坑,微信小程序中退款 19.9的字符串转double变成19.89,导致退不成功 . 坑死我了.现在把更改后的代码贴出来 public static void main(String[] ...
- idea快速搭建Tomcat服务器
创建Web项目 新建Classes和lib文件夹 配置输出路径和资源路径 快捷键ctr+shift+alt+S打开项目配置 在modules下修改输出路径 修改依赖目录 修改war包输出路径 新建to ...
- Linux内核学习之工作队列
Author : Toney Email : vip_13031075266@163.com Date : 2020.12.02 Copyright : ...
- pluto中监听各个网口的500端口处理逻辑
1. pluto中监听各个网口的500端口处理逻辑 whack_handle() find_ifaces() find_raw_ifaces4() socket.setsockopt.bind.ioc ...
- Element 对话框简单使用
官方文档介绍的是页内对话框,但没有基于组件的对话框,这里记录一下,原理就是父子传值是否显示 父页导入组件 <template> <div class="home" ...
- Qt+Python开发百度图片下载器
一.资源下载地址 https://www.aliyundrive.com/s/jBU2wBS8poH 本项目路径:项目->收费->百度图片下载器(可试用5分钟) 安装包直接下载地址:htt ...