[C++]指针/指针数组/数组指针/多维指针/单值指针/多值指针
int main(){
//单值指针(指向单个值得指针,类同普通变量)
int *px = new int;
*px = 100;
printf("%d",*px);
delete px;
//多值指针(指向多个元素的指针,类同普通数组变量)
int *p = new int[2];
p[0] = 2;
p[1] = 99;
printf("%d %d\n",p[0],p[1]);//2 99
delete [] p;
//二维指针(属于多维指针)
int **pp = new int * [3];//m:宽 (即 列数)
for(int i = 0;i < 3;i++){
pp[i] = new int [2];//列长(即 行数)
}
for(int i = 0;i < 3;i++){
delete [] pp[i];
}
//三维指针(属于多维指针)
int ***ppp = new int ** [3];//假定数组第一维为m, 第二维为n, 第三维为h
for(int i = 0;i < 3;i++){
ppp[i] = new int * [2];
for(int j = 0; j < 2; j++){
ppp[i][j] = new int [4];
}
}
for( int i=0; i < 3; i++ ){
for( int j=0; j < 2; j++ ){
delete ppp[i][j];
}
delete ppp[i];
}
//数组指针(又称为 行指针;本质:指针)
int array[2][3] = {1,2,3,4,5,6};
int (*lineP)[3] = array;
delete [] lineP[0];
delete [] lineP[1];
delete [] lineP[2];
//指针数组(指向多个指针)
int m = 100;
int *pA = &m;
int *pB = &m;
int *pC = &m;
int *pa[2];
pa[0] = pA;
pa[1] = pB;
printf("%d %d",*(pa[0]),*(pa[1]));//100 100
}
[C++]指针/指针数组/数组指针/多维指针/单值指针/多值指针的更多相关文章
- C++二维数组、指针、对象数组、对象指针
项目中用到,随手记一下: 1.二维数组.与指针 创建二维数组指针的方式: a.已知一维的大小 1 int **array=new int *[rows]; 2 (for int i=0;i<ro ...
- C语言指针系列 - 一级指针.一维数组,二级指针,二维数组,指针数组,数组指针,函数指针,指针函数
1. 数组名 C语言中的数组名是一个特殊的存在, 从本质上来讲, 数组名是一个地址, 我们可以打印一个指针的值,和打印一个数组的值来观察出这个本质: int nArray[10] ={ 0 }; in ...
- C和指针 第八章 数组
8.1 数组名和指针 int a; int b[10]; a称为一个标量,表示一个单一的值,变量的类型是整数. b是数组,b[1]的类型是整数,b是一个指针常量,表示数组第一个元素的地址.b的类型取决 ...
- 指针数组&数组指针
数组指针(也称行指针) 定义 int (*p)[n]; ()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长.也就是说执行p+1时,p要跨过n个整型数 ...
- [ 随手记 2 ] C/C++ 数组/指针/传数组到函数/指针数组/数组指针
1.=================================================================== 1,数组是一块内存连续的数据.2,指针是一个指向内存空间的变 ...
- c/c++ 数组 数组的引用,指针数组的引用
c/c++ 数组 知识点 1,数组的声明和初始化,对应代码里的test1和test2 2,char数组,对应代码里的test3 3,数组不可以拷贝和复制,对应代码里的test4 4,指针数组, 数组的 ...
- C和C指针小记(十三)-数组
1.1 一维数组 一维数组的声明: int a[10]; 这里a就是一个数组. 数组a的类型就是一个指向整型的常量指针. 但是数组和指针是**不相同**的. **数组具有特定数量的元素,而指针只是一个 ...
- C语言数组指针(指向数组的指针)
注意:数组指针的定义,与指针数组的区别 转载:http://c.biancheng.net/cpp/biancheng/view/162.html 指向多维数组元素的指针变量 ① 指向数组元素的指针变 ...
- 全面总结sizeof的用法(定义、语法、指针变量、数组、结构体、类、联合体、位域位段)
一.前言 编译环境是vs2010(32位). <span style="font-size:18px;">#include<iostream> #inclu ...
随机推荐
- matplotlib之scatter自动绘制散点
# 使用matplotlib.pyplot.scatter绘制散点 import matplotlib.pyplot as plt from pylab import mpl # 设置默认字体,解决中 ...
- 学习笔记特别篇之orm的跨表
models.Love.objects.filter(b__name="t1",g__nams="a1") 表示先inner join b on xx 再 in ...
- codeforces510B
Fox And Two Dots CodeForces - 510B Fox Ciel 正在玩一个手机拼图游戏,被称之为 "Two Dots".基础关卡是在一个大小为 n × m的 ...
- 最小费用最大流spfa
#include <iostream> #include <cstring> #include <cstdio> #include <queue> #d ...
- AtCoder Regular Contest 063 F : Snuke’s Coloring 2 (线段树 + 单调栈)
题意 小 \(\mathrm{C}\) 很喜欢二维染色问题,这天他拿来了一个 \(w × h\) 的二维平面 , 初始时均为白色 . 然后他在上面设置了 \(n\) 个关键点 \((X_i , Y_i ...
- BroadcastReceiver 接收系统短信广播
BroadcastReceiver 接收系统短信广播 /* 注册广播: * |--静态注册 (在AndroidManifest .xml 中注册) * <receiver androi ...
- Sharepoint 性能之SQL Server内存设置
In this article, let's understand the Minimum and Maximum server memory settings of SQL Server. The ...
- bzoj4985 评分 (二分答案+dp)
首先二分一个答案x,然后我们把>=x的数看成1,<x的数看成0,那如果最后剩下1,这个答案就是合法的. 那我们就来算让某一位得1至少需要填几个1(设这个值是f[i]) i=1..n时,显然 ...
- MD5 SHA1 CRC32
md5: import hashlib md5 = hashlib.md5() md5.update(bytes('http://www.baidu.com',encoding="utf-8 ...
- C# 面向对象零碎知识点
obgect: 所有数据类型都是obgect类型: 万能类型 var :原来的变量不变,替换成var: 动态类型 dynamic :类似object,遍历需要转: is as: 类型转换运算符: ( ...