C++二维数组名的再探索
- #include <iostream>
- int main()
- {
- int d2a[][] = { , , , , , , , , , , , };
- //输出 0,1,2,3,4,5,6,7,8,9,10,11
- for (size_t i = ; i < ; i++)
- {
- for (size_t j = ; j < ; j++)
- {
- std::cout << d2a[i][j] << ",";
- }
- }
- //输出 0077FD04,0077FD04,0077FD14,0077FD24
- //可见二维数组名是数据首地址,d2a[0],d2a[1],d2a[2]分别是第一行,第二行,第三行的首地址
- std::cout << d2a << "," << d2a[] << "," << d2a[] << "," << d2a[] << std::endl;
- //最直观的顺序输出所有元素的方式
- //输出 0,1,2,3,4,5,6,7,8,9,10,11
- int* pa = (int*)d2a;
- for (size_t i = ; i < ; i++)
- {
- std::cout << *(pa + i) << ",";
- }
- //最难理解的二维数组名当指针的输出方式
- //输出 0,1,2,3,4,5,6,7,8,9,10,11
- for (size_t i = ; i < ; i++)
- {
- std::cout << *(*d2a + i) << ",";
- //错误方式,虽然二维数组指向数组首地址,但相当于行指针,d2a+0 = d2a[0], d2a+1 = d2a[1],d2a+2=d2a[2]
- //std::cout << *(d2a + i) << ",";
- }
- //理解了二维数组名的实质后,下面的就容易理解了
- char str[] = "ab";
- char(*px)[] = &str;
- (*px)[] = 'a';
- (*px)[] = 'b';
- (*px)[] = 'c';
- }
C++二维数组名的再探索的更多相关文章
- C/C++二维数组名和二级指针
转载 :https://blog.csdn.net/wu_nan_nan/article/details/51741030 作者:吴一奇 1. 指针1.1 一个指针包含两方面:a) 地址值:b) 所 ...
- C++ 指针与二维数组名
和一维数组类似,C++ 将二维数组名解释为其第一个元素的地址,而二维数组的第一个元素为一维数组,以下面的程序为例,二维数组名 array2d 和 &array2d[0] 等效,它们的类型都为 ...
- 深入理解C/C++二维数组
深入理解C/C++二维数组 前言 本来以为自己对二维数组的理解还可以,没感觉有什么,但是今天小伙伴问了一个问题感觉迷惑了好久,于是决定细致的记录一下,一步一步的探究各种关于二维数组的问题,巩固基础. ...
- 二维数组和指针(C语言)
二维数组和指针 二维数组和指针1.二维数组和数组元素的地址若有以下定义:int *p, a[3][4]; 1)二维数组a由若干个一维数组组成在C语言中定义的二维数组实际上是一个一维数组,这个一维数组的 ...
- C语言指针系列 - 一级指针.一维数组,二级指针,二维数组,指针数组,数组指针,函数指针,指针函数
1. 数组名 C语言中的数组名是一个特殊的存在, 从本质上来讲, 数组名是一个地址, 我们可以打印一个指针的值,和打印一个数组的值来观察出这个本质: int nArray[10] ={ 0 }; in ...
- Java 数组(三)二维数组
如果一维数组的各个元素仍然是一个数组,那么它就是一个二维数组.二维数组常用于表示表,表中的信息以行和列的形式组织,第一个下标代表元素所在的行,第二个下标代表所在的列. 一.二维数组的创建 1.先声明, ...
- C语言教学--二维数组和指针的理解
对于初学者对二维数组和指针的理解很模糊, 或者感觉很难理解, 其实我们和生活联系起来, 这一切都会变得清晰透彻. 我们用理解一维数组的思想来理解二维数组, 对于一维数组,每个箱子里存放的是具体的苹果, ...
- int (*p)[4] p 是二级指针 二维数组 二级指针 .xml
pre{ line-height:1; color:#2f88e4; background-color:#e9ffff; font-size:16px;}.sysFunc{color:#3d7477; ...
- C++ 二维数组(双重指针作为函数参数)
本文的学习内容参考:http://blog.csdn.net/yunyun1886358/article/details/5659851 http://blog.csdn.net/xudongdong ...
随机推荐
- 关于不同retina的布局
不同retina,显示高度不一样,很显然最细的线条最美 <!DOCTYPE html> <html lang="en"> <head> < ...
- Java高并发程序设计学习笔记(一):并行简介以及重要概念
转自:https://blog.csdn.net/dataiyangu/article/details/86211544#_28 文章目录为什么需要并行?反对意见大势所趋几个重要的概念同步(synch ...
- POJ 1734 无向图最小环/有向图最小环
给定一张图,求图中一个至少包含三个点的环,环上的点不重复,并且环上的边的长度之和最小. 点数不超过100个 输出方案 无向图: /*Huyyt*/ #include<bits/stdc++.h& ...
- 【BZOJ4031】【Luogu P4111】[HEOI2015]小Z的房间
裸的矩阵树定理.求行列式的时候答案要在中间统计,因为交换两个行会使答案取反. #include <bits/stdc++.h> using namespace std; const int ...
- poj3208 Apocalypse Someday[数位DP]
数位中出现至少3个连续的'6'的数字(称魔鬼数),询问满足要求的排名k的数. 经典题型.采用试填法. 递推做法:预处理出$i$位数字中满足要求的数(下记为'魔鬼数').对每一位都从0到9试一遍,然而卡 ...
- http协议和i/o模型
http协议----基于请求报文和响应报文完成一次http事务 应用层协议格式有两种: 文本(开发容易,但交互解析困难如http smtp),二进制(交互解析容易,但理解起来困难memocache) ...
- hiho #1066 : 无间道之并查集
#1066 : 无间道之并查集 时间限制:20000ms 单点时限:1000ms 内存限制:256MB 描述 这天天气晴朗.阳光明媚.鸟语花香,空气中弥漫着春天的气息……额,说远了,总之,小Hi和小H ...
- Django 之 文件配置、pycharm及django连接数据库、创表及表的增删改查02
目录 创建项目后的文件夹配置 静态文件配置 接口前缀动态绑定 form表单回顾 根据请求方式的不同,返回前端不同的信息 pycharm 连接MYSQL数据库 Django 连接MYSQL数据库的配置 ...
- SQL Server自动备份
1.打开SQL Server Management Studio 数据库-管理-维护计划,右键,维护计划向导 2.在弹出页面右下方点击[更改],修改计划执行方案 根据需要,修改执行时间 3.修改完毕后 ...
- Flink SQL 如何实现数据流的 Join?
无论在 OLAP 还是 OLTP 领域,Join 都是业务常会涉及到且优化规则比较复杂的 SQL 语句.对于离线计算而言,经过数据库领域多年的积累,Join 语义以及实现已经十分成熟,然而对于近年来刚 ...