登录  | 立即注册

游客您好!登录后享受更多精彩

扫一扫,访问微社区

QQ登录

只需一步,快速开始

开启左侧

[寒假笔记] 第六章:数组+数据类型

[复制链接]
发表于 2017-1-18 12:05:50 | 显示全部楼层 |阅读模式
学习笔记
学习科目: C语言
学习安排: 详见:http://bbs.hpuedd.com/forum.php?mod=viewthread&tid=837&fromuid=385
开始时间: 2017-01-16
结束时间: 2017-01-16
本帖最后由 夜色星空 于 2017-1-24 10:23 编辑
数组

就是一组变量

当需要很多变量或一些其他的要求时(比如内存连续)

可以使用组

它的表达形式为

a[x](其中x为想要声明的个数)

如:

1-1.PNG

可以看到,一次性声明了五个变量(a[0]到a[4]),但是代码的重复性很高

上几章我说过了循环结构,将代码优化一下

并进行整体赋值

如:

1-2.PNG

整体赋值,a[x]={x1,x2,x3....,xx}

还可以进一步优化

将赋值语句改成循环赋值

请大家自行尝试,不再赘述

至于内存连续

可以举个例子

你问机器要一个int的空间,它会给你一个4位连续的内存

也就是这四位在内存中是挨着的,而不是分散的

同理你问机器要一个int*x这么大的空间

机器会给你4*x位连续的空间

然后再4位4位的划分成x个

就好比你向官府申请了一个客栈

官府一定会给你一栋楼让你拿来当客栈

而不是几个独立的房子

你申请了客栈,然后从下到上进行标门牌号

那么,房间与房间就是挨着的,门牌号也是连续的

这就有一个好处,连续输入或输出时非常方便

比如我想输出字符串

可以这样写

1-3.PNG

因为存储字符,所以是char类型

因为输出字符,所以是%c类型

(PS:a的空间要适当大,否则会发生错误,空间计算方法x=字符个数(包括空格)+1)

(也不要过大,防止内存浪费)

如果学过字符串的话一定知道下面的形式也是可以的

(而且和空间计算方法后面的1有关,以后会说到)

1-4.PNG

至于二维数组

形如

a[x][y];

可以这么看

(a[x])[y];

这就相当于向官府租一座城

城中客栈连着客栈一共有x个客栈

每个客栈有y间房

其赋值写法为

a[x][y]={{y1,y2,y3,...,yn},{y1,y2,y3,...,yn},...,{y1,y2,y3,...,yn}}

当进行完全顺序赋值时也就是从第一间客栈的第一间房开始顺序赋值

可使用

a[x][y]={1,2,3,....,x*y};

来进行赋值

也就是说如果使用第一种写法,可以不把第一个客栈标完房号,转而去标第二间客栈

而用第二种,只能在第一间客栈标完的情况下去标第二间客栈

(PS:当要初始化为0时,只需写a[x][y]...=0就意味着全部值为0)

同理,多维数组可用此进行推导。

至于数据类型

还是上几章帖子的地址,不再赘述

http://www.cnblogs.com/onedime/archive/2012/11/21/2780149.html

此时,基本数据类型应全部掌握


该会员没有填写今日想说内容.
发表于 2017-1-18 14:53:18 | 显示全部楼层
高产啊
该会员没有填写今日想说内容.
 楼主| 发表于 2017-1-18 16:06:53 | 显示全部楼层
alpha 发表于 2017-1-18 14:53
高产啊

复习,稍微快了点,主要还是单片机。
该会员没有填写今日想说内容.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表