欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

day08字符串

程序员文章站 2022-03-08 11:48:56
...

数组
元素类型 数组名称[元素个数]

二维数组: 数组中的每一个元素又是一个数组, 那么这个数组就称之为二维数组
元素类型 数组名称[一维数组的个数][每个一维数组的元素个数];
元素类型 数组名称[行数][列数];

 元素类型: 说明二维数组中每个一维数组存储什么类型的数据
 一维数组的个数: 说明二维数组有多少个元素
 每个一维数组的元素个数 :  说明二维数组中每一个一维数组的元素个数

// 如何遍历二维数组
// 思路: 1.取出二维数组的每一个元素(取出二维数组中的一维数组)
//       2.遍历一维数组

// 数组的名称就是数组的地址
// &nums == nums == &nums[0]
// 数组作为函数的参数传递, 修改形参的值会影响到实参

字符串
用双引号引起来的就是字符串
printf("Hello, World!\n");
// 如何定义字符串变量, 由于字符串是同一种类型的数据组成, 并且是有序的
// 注意: 字符串变量和普通的字符数组有一定的区别
// C语言规定, 字符串必须以\0结尾(作为字符串的结束符号), 所以字符串变量的元素个数比字符数组的元素个数多一个 \0

字符串用法
1.如何输出字符串
// 1.1可以使用printf的%s占位符来输出
// 弊端 : 如果想要换行, 必须加上\n
// 优点 : 可以自定义格式化需要输出的字符串, 也就是可以按照我们需要的格式来输出
// 1.2可以使用puts函数来输出
// 优点: 可以自动换行
// 缺点: 不可以自定义格式, 只能原样输出
2.如何输入字符串
//2.1利用scanf接收字符串的注意点
// scanf接收字符串, 会以空格 , tab, 回车作为结束符号, 也就是说利用scanf接收字符串时, 字符串中不能出现空格, tab, 回车
// 2.2利用gets接收字符串
// warning: this program uses gets(), which is unsafe.
// 如果使用gets接收字符串, 系统会提示我们正在使用一个不安全的方法接收字符
// 优点: 如果利用gets接收字符串 , 可以在字符串中输入空格, tab
3.如何计算字符串的长度
// strlen的原理: 从传入的地址开始逐个取出字符串, 每取出一个就让计数器+1. 直到遇到\0为止
// size_t size = strlen(str); // 计算出来的结果不包括\0

字符串拼接
原理 : 首先遍历第一个字符串,直到遇到\0为止, 然后取出第二个字符串中的字符, 从\0的位置开始添加, 添加完毕之后再在最后添加一个\0
// dest : 目标 src : 源
// 将src中的数据拼接到dest后面
// 注意: 要想使用字符串拼接函数, 那么dest必须是一个数组, 并且数组的长度必须大于拼接之后的长度