D2字符数组和字符串

2.1一维数组和字符串

1.字符数组

字符数组是元素得数据类型为字符类型得数组

—char c[10],ch[3][4];

字符数组的初始化

—逐个字符赋值

—用字符串常量

2.字符数组初始化

可以写成“boy"

0  ‘\0’  null   其实都是0      0就是整数0        ‘\0’的ascii值是0   null是宏定义它代表的也是0

数值经常写0   字符写‘\0’   指针写null

n是数组的元素个数    数组/字符

#if 0 相当一个宏   if 0意思是如果if后是真就成立if后面是假就不成立   成立的时候这段代码参与编译不成立就不参与编译

打印数组名就是数组的起始地址(%p    arr2   这里)

可以看出数组是连续存储的(所以是不正确的)

字符串

C语言中无字符串变量,用字符数组处理字符串    字符串结束标志:'\0'

2.2二维字符数组和字符串

可以代替

“. . *”  ". * . *" 第三行不能换

字符串打印可以不写循环直接%s

n行数:用整个数组占的空间/一行所占用的空间=总行数

m列数:用一行占用的空间/这一行任何一个元素所占用的空间

2.3字符串逆序输出

输入一个字符串,然后将其逆序输出。

有两种1.gets   数据不变  逆序输出   2.gets  数据改变  正常输出(数据本身就得到了逆序)

逆序输出(没有输入)

上面的#define N 20没用到

gets得到的一定是字符串,一定会/0结尾

总空间/一个的空间=元素个数

gest的警告是因为数组当中有一个长度,而实际输入的内容如果输入值超过20数组就多了,最多输入19个字符,如果输多数组内存访问越界。

如果写一个0默认后面是0,哪怕循环打多了也没事。其实没必要循环到0,因为字符串逆序,数组大用户输入的值少,

字符串strlen函数  :功能计算字符串长度    有头文件    n就是实际字符串长度  用sizeof除是数组的总空间,而用户输入的没有那么多

2.上面的是逆序输出只能写循环

puts会自动加换行符 

gets函数默认有\0

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值