【考研C语言】一维数组和字符串数组的小知识点

本文介绍了C语言中一维数组的声明、初始化、赋值以及传递方式。数组定义时应使用常量,数组赋值可部分或全部进行,初始化字符数组通常用于存储字符串并需预留一个字节给。在函数中传递数组时,实际上传递的是首地址,若需数组长度需额外传递。读取字符串时,scanf会自动忽略空格,不适合读取包含空格的字符串。
摘要由CSDN通过智能技术生成

一维数组

声明数组

注意数组定义的时候a[x],x为了保险一定要写常量,不要写一个变量
image.png

数组元素赋值

可以给一部分元素赋值
image.png
如果要使一个数组中全部元素都是0,可以这么写
image.png

数组传参

只能循环一个一个打印出来
注意传递数组的时候是无法把整个数组传递过去的,本质其实就是把数组首地址传过去
所以函数里面的数组参数一直都是fun( a[] ),方括号里面不写长度是因为写了也没用。
所以如果你要用到数组的长度,那么你只能在函数参数里面单独开一个参数来存放数组的长度。
image.png

字符数组

初始化

以下两种方法可以,但是基本不用
image.png
但工作中一般不用以上两种初始化方式,因为字符数组一般用来存取字符串。通常采用的初始化方式是 char c[10]=“hello”。

因为C语言规定字符串的结束标志为’\0’,而系统会对字符串常量自动加一个’\0’,为了保证处理方法一致,一般会人为地在字符数组中添加 ‘\0’,所以字符数组存储的字符串长度必须比字符数组少1字节。例如,char c[10]最长存储9 个字符,剩余的1个字符用来存储\0。

只有你是一个一个给char数组的所有元素手动赋值的时候才需要手动加上\0,意思说如果是你是char[6] = {x,x,x,x,x}(大括号里里面是五个元素<数组长度6)是不需要的,如果 char c[10]="hello"也是不需要的,但是如果你是char[5] = {x,x,x,x,x}(大括号里里面是五个元素=数组长度5)那么就会出问题
:::info
插播:%s用来打印字符串
:::
image.png
image.png
初始化字符数组时,一定要让字符数组的大小比看到的字符串的长度多1

读取字符串

读取单个字符串
image.png
读取多个,scanf会自动忽略字符串中间的空格。如果要把字符串也读进去,那么用scanf不是很方便
image.png
image.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值