C++学习(十五)(C语言部分)之 数组二
数组大纲

多维数组
二维数组 重点 (三位以上基本不会用到)
都是用来存数据
一个班有20个人 可以用一维数组存20个人的年龄
int age[20];
一个年级10个班 每个班20人
int age[10][20];//二维数组
一个学校 6个年级 每个年级10个班 每个班20人 一个年级作为一个元素
int age[6][10][20];//三维数组
定义时 后面有多少个[]就是几维数组
二维数组 数组的数组
--->数组元素 也是数组
age[0][1][2] 0年级的1班学号是2的同学
age[0] 0粘结
gae[0][1] 0年级1班
age 三维数组
age中的元素---> age[0] age[1] age[2] age[3] age[4]
越界 用到了数组外面的内容 不属于你的地方 没人可以管 会出问题
数组大小不确定时 可以稍微大一点点
测试代码
/*
字符串后面 才有\0 字符串的末尾 \0
char arr[10]; //字符数组 字符串一般存放在字符数组中
*/ #include<stdio.h>
#include<string.h>//用函数strlen时要用到 int main()
{//一维数组复习
#if 0
char arr[] = "hello world\0"; //还有很大的空间没有存放数据
char brr[] = {'a','b','c'};//相当于赋值“abc” 空间大小为4 多出来的一位默认赋值为0 而在ASCII中 /0就是 0
char crr[] = "123456\0";//定义的是后赋值 才可以省略大小 (有效无效字符都要存进去) printf("%s\n",brr);
printf("%d\n",sizeof(arr));//求数组大小 (单位字节)
printf("%d\n", strlen(arr));//字符串长度 长度是算到\0为止的个数
//strlen 字符串的有效长度 算到\0为止
scanf("%s",arr);//数组名 不需要取地址符 scanf中间有空格 会当成两个字符串
gets_s(arr, );//100 字符串长度最多能到100 gets专门用于字符串数组的输出
gets(arr);
//回车作为结束
puts(arr);//专门用于字符串的输出
printf("输入的内容是%s",arr);//输出 #endif //多维数组
/*
多维数组
二维数组 重点 (三位以上基本不会用到)
都是用来存数据 一个班有20个人 可以用一维数组存20个人的年龄
int age[20];
一个年级10个班 每个班20人
int age[10][20];//二维数组
一个学校 6个年级 每个年级10个班 每个班20人 一个年级作为一个元素
int age[6][10][20];//三维数组 定义时 后面有多少个[]就是几维数组 二维数组 数组的数组
--->数组元素 也是数组
age[0][1][2] 0年级的1班学号是2的同学
age[0] 0粘结
gae[0][1] 0年级1班
age 三维数组
age中的元素---> age[0] age[1] age[2] age[3] age[4] 越界 用到了数组外面的内容 不属于你的地方 没人可以管 会出问题
数组大小不确定时 可以稍微大一点点
*/
#if 1
//int dArr[10][20];//一般前面的10称为行 后面的20称为列
//for (int i = 0; i < 10; ++i)
//{
// for (int j = 0; j < 20; ++j)
// {
// dArr[i][j] = i*j;
// }
//}
//for (int i = 0; i < 10; ++i)//先行
//{
// for (int j = 0; j < 20; ++j)//后列
// {
// printf("%d\t",dArr[i][j]);
// }
// printf("\n");
//} //test[i][j] 和 test[i][j+1] 地址 相差4个字节(一个int大小)
//test[i][j] 和 test[i+1][j] 地址 相差16个字节(一行的大小 4个int大小)
//本质二维数组存放方式和一位数组无异 但是他得使用方式不一样
//地址是一样的 类型是不一样的 使用方式也不一样
//&arr和&arr[0]的数据类型不一样 但是存的内容是一样的
int test[][];
for(int i = ; i < * ; ++i)
{
test[][i] = i;
}
for (int i = ; i < ; ++i)
{
for (int j = ; j < ; ++j)
{
printf("%d\t",test[i][j]);
printf("%p\t",&test[i][j]);//%p 打印地址 是16进制
}
printf("\n");
} #endif while ();//防止闪屏
getchar();
return ;//表示函数结束
}
2018-07-17 17:31:02
C++学习(十五)(C语言部分)之 数组二的更多相关文章
- 强化学习(十五) A3C
在强化学习(十四) Actor-Critic中,我们讨论了Actor-Critic的算法流程,但是由于普通的Actor-Critic算法难以收敛,需要一些其他的优化.而Asynchronous Adv ...
- salesforce lightning零基础学习(十五) 公用组件之 获取表字段的Picklist(多语言)
此篇参考:salesforce 零基础学习(六十二)获取sObject中类型为Picklist的field values(含record type) 我们在lightning中在前台会经常碰到获取pi ...
- Dart语言学习(十五) Dart函数方法
Dart函数方法可分为两类: 一.内置方法/函数: print(); 二.自定义方法: 自定义方法的基本格式: 返回类型 方法名称(参数1,参数2,...){ 方法体 return 返回值; } vo ...
- 智能车学习(十五)——K60野火2013版例程
一.中断函数注册方法: 1.格式: 配置某个功能的中断 注册中断函数 开启中断 2.一个例子 pit_init_ms(PIT0,);//定时中断初始化 set_vector_handler(PIT0_ ...
- java web 学习十五(jsp基础语法)
任何语言都有自己的语法,JAVA中有,JSP虽然是在JAVA上的一种应用,但是依然有其自己扩充的语法,而且在JSP中,所有的JAVA语句都可以使用. 一.JSP模版元素 JSP页面中的HTML内容称之 ...
- Salesforce LWC学习(十五) Async 以及 Picklist 公用方法的实现
本篇参考:salesforce 零基础学习(六十二)获取sObject中类型为Picklist的field values(含record type) https://developer.salesfo ...
- ballerina 学习十五 控制流
ballerina 的控制流没有什么特殊,只是相比一般语言多了一个模式匹配的操作match ,实际上其他语言(erlang elixir rust 中的模式匹配是很强大的) 简单例子 if/else ...
- Spring 学习十五 AOP
http://www.hongyanliren.com/2014m12/22797.html 1: 通知(advice): 就是你想要的功能,也就是安全.事物.日子等.先定义好,在想用的地方用一下.包 ...
- Scala学习十五——注解
一.本章要点 可以为类.方法.字段.局部变量.参数.表达式.类型参数以及各种类型定义添加注解 对于表达式和类型,注解跟在被注解的条目之后 注解的形式有@Annotation.@Annotation(v ...
- Java学习十五
学习内容: MyBaits 以前从来没有接触过mybatis,通过今天的学习知道这是一个框架,适用于关注SQL优化和需要频繁更新的项目. 今天做一个关于mybatis项目的入门小程序,效果很不理想. ...
随机推荐
- DMA-总结
概念DMA “Direct Memory Access(存储器直接访问).这是指一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据.整个数据传输操作在一个称为"DMA控制器&qu ...
- learning scala output to console
控制台输出语句: print println example: scala> print("i=");print(i)i=345scala> println(" ...
- unity中键盘WASD控制。(WS控制物体前后移动,AD控制左右旋转。)
private float rotateSpeed = 30f; private float movespeed = 5; void FixedUpdate() { //第一种控制移动 float h ...
- HTML编辑笔记4
1.CSS(层叠样式表) 2.CSS语法 选择器{ 属性名1:属性值1: 属性名2:属性值2: } 3.引用CSS的三种方式 第一种:行内样式 例:<a style="color:re ...
- java8新特性Lambda练习
练习内容: 1.实现案例 /** *使用lambda表达式定义Collections.sort() */ /** *使用lambda表达式自定义比对方式 */ @Test public void Te ...
- 单元测试模拟-moq
1.moq 支持 net core 2.moq 通过一个接口类型 可以产生一个新的类 3.举例 //define interface to be mocked public interface ITe ...
- 4.7 C++ dynamic_cast操作符
参考:http://www.weixueyuan.net/view/6377.html 总结: 产生这种运行期的错误原因在于static_cast强制类型转换时并不具有保证类型安全的功能,而C++提供 ...
- 2.17 C++类与const关键字
参考: http://www.weixueyuan.net/view/6348.html 总结: const成员变量的初始化只有唯一的一条途径:参数初始化表. const成员函数可以使用类中的所有成员 ...
- 《软件调试 Windows概要》
操作系统是计算机系统中的基本软件.它负责管理系统中的软硬件资源.通常都包括文件管理.内存管理.进程管理.打印管理.网络管理等基本功能.除此之外,支持调试也是操作系统设计的一项根本任务. 0x01 进 ...
- 6.Python爬虫入门六之Cookie的使用
大家好哈,上一节我们研究了一下爬虫的异常处理问题,那么接下来我们一起来看一下Cookie的使用. 为什么要使用Cookie呢? Cookie,指某些网站为了辨别用户身份.进行session跟踪而储存在 ...