c语言一维数组总结详解
目录
介绍:
本篇文章将同时介绍一维整型,浮点型,字符数组
一维整型数组:
声明:
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’??的缘故 系统读到了 没有初始化的部分?
来介绍一种解决办法 来看代码
就是按照常规打印数组的方式 打印 有几个打几个
部分全部代码:
?
这里并没有头文件大家自己添加吧?
输出结果:
总结:?
本期内容到此结束啦
大家每天进步一点点就好啦
持续关注我的数组内容哦
再送大家一句话?锲而舍之,朽木不折;锲而不舍,金石可镂
散会!!!
?
?
?
?
?
?
?
?
?
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!