目录
介绍:
一维整型数组:
声明:
初始化:
打印输出:
输出结果:
浮点型数组:
代码:
运行结果:
补充:
一维字符数组:
字符数组声明及初始化:
部分全部代码:
总结:
介绍:
本篇文章将同时介绍一维整型,浮点型,字符数组
一维整型数组:
声明:
int + 数组名[数组长度(也可以不写)]
初始化:
来看代码解释初始化方法
int a[ ] : a这个数组的长度虽然没写 但是因为后面的初始化 这个数组的长度是6
int a1[6] : a1这个数组的初始化就是最标准的声明及初始化方式
还有一种方式:
int a2[6]: a2这个数组的初始化 是从键盘输入数值(很显然输入六个值) 大家应该我的第一行代码是什么意思
因为我用的Visual Studio 2022 编译器 不加第一行代码scanf用不了
打印输出:
那么怎么输出这几个数组呢?来看代码:
倒数三个for循环就是用来打印三个数组 所以打印数组就得用for循环 如果大家还有什么办法评论区发言哦
输出结果:
第一行就是a2数组的输入
2,3,4行就分别是三个数组的 输出结果
浮点型数组:
代码:
这里的代码就不做讲解了 大家可以看上文
运行结果:
这里第一行和小编上一篇文章一样 输入了一个数组
补充:
大家先看小编给大家写的一个图片:
看完这个图片小编补充一下
就是数组 a[6]: "[ ]" 里面的数字6 代表这个数组有6个元素 就是6 个int类型的数字
然后 如果咱们想要用数组里的第一个数字1 我们要取a[0]
所以很容易发现一个规律:想要数组里的第n个数 a[n - 1] 就是那个数
一维字符数组:
字符数组声明及初始化:
来看代码:
1.数组b就是 最普遍的初始化字符数组和声明数组的方法 可以看到和 之前讲过的整型数组非常相似 就是存储的数据类型不同
2.数组a就有点不同了 大家可以发现 相比于数组b 数组a多了一个‘\0’ 这就说明 数组a可以当做字符串使用了 因为它具备了字符串的标志‘\0’ ‘\0’ 就是字符串的结束符 每个字符串都应具有的标志 否则 计算机就找不到字符串的头在哪了 就会一直读 会出现一堆乱码 直到读到字符串数组的最后一个元素 和整型一样 没有初始化的元素 系统会随机显示一些数 而有了结束符之后 系统就不会往后读了 这些 下面讲
注意:像数组a,b这种初始化方式 未初始化的部分都是空 就打印出来什么都没有
可以看到并没有出现乱码 这里听不懂的 就懂了
3.数组a1就是把a1看成了一个字符串 这个时候系统会自动在数组的后面加一个‘\0’ 不需要我们手动加 还要注意一点就是数组的长度要比我们存进去的字符串的长度大 因为得给‘\0’ 留一个位置啊 它可是大哥啊
4.数组a2与a1一样 所以可以看到 当要声明一个字符串的时候 加不加{ }都无所谓
5.数组a3 这个数组可以发现仅仅声明了 并没有初始化 下面是他的初始化代码
gets函数就是用来初始化这个a3数组的 通过代码可以看到这个函数的用法 原理就是咱们自己输入
一个字符串然后存在a3里 但是记住输入的字符串长度不可以超过14 因为要给‘\0’ 留一个位置啊 很显然 gets函数 也是自动在字符串的后面补个‘\0’ 没有‘\0’ 怎么能叫做字符串呢
puts函数用来打印字符串 当然你也可以用printf函数 但是puts函数打印完一个字符串会换行
来看这段代码的执行结果:
很显然咱们输入zsm了zsm
再来看看用printf打印字符串
很显然打印完字符串的时候没有换行 而且我们要用“%s” 去打印字符串 同时可以发现 我们只写了a3 就打印字符串了 所以当我们打印字符串时 传入字符串的首地址就会打印字符串了 直到‘\0’ 为止
6.数组a4 下面是他的初始化代码:
EOF 这里就不深说了 我告诉大家怎么用 就是咱们不是输入字符串吗 当你不想输的时候 就先回车 在 ctrl + z 回车 (重复三次就完事了)
再说一个细节 就是scanf函数不接收空格 但是它可以补‘\0’ 当前面是%s的时候
来看执行结果
^Z 就是ctrl + z啦
其实还有另一种写法
这种就不需要 ctrl + z那种操作啦
来看执行结果
可以看到 我输入了zsm zsm
但是只打印了zsm 因为scanf函数不接收空格
所以当有空格的时候 scanf函数 就停止输入了
7.数组a5
这个也一样用到了EOF 但是这个不需要重复操作ctrl + z 只需要一次 所以为了好记 大家就记住 遇到EOF 想要结束直接回车然后重复ctrl + z + 回车就完事了直到结束来看执行结果
可以看到在输出完zsm 之后又来一堆乱码 这就是 没有 ‘\0’ 的缘故 系统读到了 没有初始化的部分
来介绍一种解决办法 来看代码
就是按照常规打印数组的方式 打印 有几个打几个
部分全部代码:
这里并没有头文件大家自己添加吧
输出结果:
总结:
本期内容到此结束啦
大家每天进步一点点就好啦
持续关注我的数组内容哦
再送大家一句话 锲而舍之,朽木不折;锲而不舍,金石可镂
散会!!!