c/c++ 数组 数组的引用,指针数组的引用
c/c++ 数组
知识点
1,数组的声明和初始化,对应代码里的test1和test2
2,char数组,对应代码里的test3
3,数组不可以拷贝和复制,对应代码里的test4
4,指针数组, 数组的指针, 数组的引用,指针数组的引用,对应代码里的test5
5,数组的范围for用法,对应代码里的test6
6,用size_t作为下标的类型,对应代码里的test6
#include <iostream>
#include <string>
#include <cstddef>
using namespace std;
int main(){
//test1 声明时必须指定数组的大小
/*
unsigned cnt = 42;
constexpr unsigned sz = 42;
int arr[10];
int *parr[sz];
string bad[cnt];
bad[23] = "aaa";
cout << bad[23] << endl;
*/
//test2 初始化
/*
const unsigned sz = 3;
int ia1[sz] = {1,2,3};//含有3个元素的数组,元素值:1,2,3
int a2[] = {1,2,3};//含有3个元素的数组,元素值:1,2,3
int a3[5] = {1,2,3};//含有5个元素的数组,元素值:1,2,3,0,0
cout << a3[3] << a3[4] << endl;
string a4[3] = {"ni", "go"};//含有3个元素的数组,元素值:"ni","go",""
cout << a4[2] << endl;
//int a5[2] = {1,2,3};//错误
*/
//test3 char数组
/*
char a1[] = {'a','b','c'};//列表初始化,没有尾部\0
cout << a1 << endl;//因为没有尾部的\0,所以会一直打印到\0为止
char a2[] = {'a','b','c', '\0'};//列表初始化,有尾部\0
cout << a2 << endl;
char a3[] = "abc";//自动添加尾部的\0
cout << a3 << endl;
//char a4[3] = "abc";//错误,指定了大小为3,无法在c后面加\0
*/
//test4 数组拷贝和赋值
/*
int a[] = {1,2,3};
//int a1[] = a;//不能拷贝数组
int a2[] = {1,1,1};
//a2 = a;//不能用数组给数组赋值
*/
//test5 指针数组, 数组的指针, 数组的引用,指针数组的引用
/*
//指针数组
int* pt[10];//ptr指向含有10个整型指针的数组
//数组的指针
int (*parr)[10];//parr指向一个含有10个整数的数组,应用于二维数组
int br[2][10];
parr = br;
if(parr + 1 == &br[1]){
cout << "==" << endl;
parr[0][0] = 10;
cout << br[0][0] << endl;
}
int arr[10];
//数组的引用
int (&af)[2][10] = br;
af[0][1] = 123;
cout << br[0][1] << endl;
int (&arrRef)[10] = arr;
arrRef[0] = 100;
arrRef[1] = 10;
cout << arrRef[0] << "," << arrRef[1] << endl;
//指针数组的引用
int* (&ar)[10] = pt;
int a = 5;
ar[0] = &a;
*ar[0] = 500;
cout << a << endl;
*/
//test6 数组的范围for用法
int ar[5] = {};
for(auto &s : ar){
s = s + 1;
}
//用size_t作为下标的类型,包括在cstddef头文件里
size_t idx = 1;
ar[idx] = 100;
for(auto s : ar){
cout << s << ",";
}
cout << endl;
}
c/c++ 数组 数组的引用,指针数组的引用的更多相关文章
- c/c++ 函数指针 指针函数 数组的引用 指针数组 数组指针
1.指针数组数组指针 引用数组 数组的引用 int *a[10] 指针数组 每一个元素都是一个指针 Int (*a)[10] 数组指针 P指向一个含有10个元素的数组 Int (&a)[10] ...
- o4.数组指针和指针数组的区别
------- android培训.iOS培训.期待与您交流! ---------- 我们看一下数组指针和指针数组: 数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个 ...
- 指针数组&数组指针
数组指针(也称行指针) 定义 int (*p)[n]; ()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长.也就是说执行p+1时,p要跨过n个整型数 ...
- [C++]数组指针与指针数组
//声明: 1.&----取地址运算符 eg: int m = 1; int *p = &m;//(*p) == m的地址 == &m; 2.*----间接访问运算符 eg: ...
- go语言学习--指针数组和数组指针
数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长.也就是说执行p+1时,p要跨过n个整型数据的 ...
- 数组指针与指针数组(good)
数组指针和指针数组的区别 数组指针(也称行指针) 定义 int (*p)[n]; ()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长.也就是说执行p ...
- CPP-基础:函数指针,指针函数,指针数组
函数指针 函数指针是指向函数的指针变量. 因而“函数指针”本身首先应是指针变量,只不过该指针变量指向函数.这正如用指针变量可指向整型变量.字符型.数组一样,这里是指向函数.如前所述,C在编译时,每一个 ...
- 【转】数组指针&指针数组
转自:https://www.cnblogs.com/mq0036/p/3382732.html 数组指针和指针数组的区别 数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p ...
- 【转自hongcha_717】数组指针和指针数组的区别
数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长.也就是说执行p+1时,p要跨过n个整型数据的 ...
随机推荐
- CentOS docker 常用命令
yum install docker 安装服务 systemctl start docker.service 启动服务 systemctl enable docker.service 开机启动服务 d ...
- MySql的创建时间和修改时间
在创建时间字段的时候 DEFAULT CURRENT_TIMESTAMP表示当插入数据的时候,该字段默认值为当前时间 ON UPDATE CURRENT_TIMESTAMP表示每次更新这条数据的时 ...
- man rpcbind(rpcbind中文手册)
本人译作集合:http://www.cnblogs.com/f-ck-need-u/p/7048359.html RPCBIND() BSD System Manager's Manual RPCBI ...
- MySQL中间件之ProxySQL(4):多层配置系统
返回ProxySQL系列文章:http://www.cnblogs.com/f-ck-need-u/p/7586194.html 1.ProxySQL中的库 使用ProxySQL的Admin管理接口连 ...
- 实战!基于lamp安装Discuz论坛-技术流ken
简介 我前面的博客已经详细介绍了lamp采用yum安装以及编译安装的方式,这篇博客将基于yum安装的lamp架构来实战安装Discuz论坛,你可以任选其一来完成. 系统环境 centos7.5 服务器 ...
- [转] javascript 保留两位小数 (且不四舍五入)
本文转自:https://blog.csdn.net/qq_40171039/article/details/79729503 保留两位小数且不四舍五入: 方法一: var a = 2.461; va ...
- mybatis_09关联查询_一对一
复杂查询时,单表对应的po类已不能满足输出结果集的映射. 所以有些时候就需要关联查询_一对一:通过条件查询结果每个字段都唯一 一对一:模型里面有模型 一对多:模型里面有集合 多对多:集合里面有集合 方 ...
- Java学习笔记之——String和Arrays常用方法
一.String常用方法 1.subString(int beginIndex,int endIndex) 截取字符串 从beginIndex开始截取,截取endIndex-beginIndex的长度 ...
- 浅析多线程的对象锁和Class锁
一.前言 本来想在另外一篇文章说的,发现可能篇幅有点大,所以还是另开一篇博文来说好了.知识参考<Java多线程编程核心技术>,评价下这本书吧——大量的代码,简单的说明,真像在看博客.不过这 ...
- win7卸载JDK出现windows Installer程序包有问题
旭日Follow_24 的CSDN 博客 ,全文地址请点击: https://mp.csdn.net/postedit/82387967 操作系统:Windows 7 (64位) jdk版本:jdk1 ...