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菜鸟教程, ...
随机推荐
- 优先队列PriorityQueue&Lambda&Comparator
今天翻阅<Labuladuo的算法小抄>时发现在使用优先队列的PriorityQueue解决一道hard题时(leetCode 23),出现了如下代码: ListNode mergeKLi ...
- Ubuntu 16.04LTS修改开机启动项
装上Ubuntu16.04后,每次开机都得手选开机项,挺麻烦 sudo vi /etc/default/grub GRUB_DEFAULT=0GRUB_HIDDEN_TIMEOUT=0GRUB_HID ...
- Linux 自旋锁,互斥量(互斥锁),读写锁
自旋锁(Spin Lock) 自旋锁类似于互斥量,不过自旋锁不是通过休眠阻塞进程,而是在取得锁之前一直处于忙等待的阻塞状态.这个忙等的阻塞状态,也叫做自旋. 自旋锁通常作为底层原语实现其他类型的锁. ...
- 证明:(a,[b,c]) = [(a,b),(a,c)]
这题是潘承洞.潘承彪所著<初等数论>(第三版)第一章第5节里一个例题,书中采用算术基本定理证明,并指出要直接用第4节的方法来证是较困难的. 现采用第4节的方法(即最大公约数理论里的几个常用 ...
- Sentry-CLI 使用详解(2021 Sentry v21.8.x)
内容源于:https://docs.sentry.io/platforms/javascript/guides/vue/ 系列 1 分钟快速使用 Docker 上手最新版 Sentry-CLI - 创 ...
- Gitlab(2)- centos7.x 下安装社区版 Gitlab 以及它的配置管理
前置准备:虚拟机安装以及配置相关 包含安装 centos7.8 虚拟机.设置静态 ip 等 https://www.cnblogs.com/poloyy/category/1703784.html 注 ...
- 经典多级时间轮定时器(C语言版)
经典多级时间轮定时器(C语言版) 文章目录 经典多级时间轮定时器(C语言版) 1. 序言 2. 多级时间轮实现框架 2.1 多级时间轮对象 2.2 时间轮对象 2.3 定时任务对象 2.4 双向链表 ...
- container of()函数简介
在linux 内核编程中,会经常见到一个宏函数container_of(ptr,type,member), 但是当你通过追踪源码时,像我们这样的一般人就会绝望了(这一堆都是什么呀? 函数还可以这样定义 ...
- oracle报错注入的一些函数
oracle 报错注入 select dbms_xmltranslations.extractxliff((select banner from sys.v_$version where rownum ...
- php curl下载文件由于空格导致下载文件失败
<?php //$result=httpcopy('http://www.phpernote.com/image/logo.gif'); echo '<pre>';print_r($ ...