Bootstrap

C语言 字符数组

一、二分查找
  1. 思想 :本身是有序的,将数据分为一半,看自己在那一半,继续一半一半的分
  2. 时间复杂度 ;log2^n
  3. end 跑到 begin 之前,说明数据查找完了,不在空间里面

代码

二、字符数组

字符数组

作用 :是一个容器,来存放字符串的容器。

注意

初始化形式 有以下内容

  1. char s[100] = "HELLO"
  2. char s[100] = {"HELLO"}其他默认的数值为\0
  3. char s[100] = {‘H’,‘E’,‘L’,‘L’,‘O’} 

 三、字符数组输入输出
3.1 字符数组的输入

1、scanf 输入字符串,

scanf("%s",s);

2、gets() 返回值是一个指针,直接传数组的地址就行。

注意

  1. gets 函数在编译里面会有警告,认为不安全
  2. gets 输入输入的时候只管输入,但是不知道数组的长度,容易造成越界访问
  3. fgets() fgets 更加安全,会考虑数组的大小,输入的字符串,会自动加上\0

三者的区别

1、scanf 在里面空格是间隔符,两个字符的分割,由他会认为结束

2、gets 里面的空格认为是一个字符

3、fgets 会出现两个空格,自带换行符

3.2 字符数组的输出

1、puts 输出字符串

2、printf("%s",s) 输出字符串

四、字符串常用函数
4.1 strlen()  统计字符串有效字符长度

4.2 strcpy() 

字符串拷贝 内存里面的两端空间,进行拷贝

  1. 参数要的是const char * 那么我们输出数组名来进行传参。
  2. 用strcpy 要注意分配的空间是源的 len +1。
4.3 strcat() 拼接字符串

  1. 长度至少是strlen(s1)+strlen(s2)+1
4.4 strcmp() 字符串比较

字符串比较的时候,从第一个字母进行比较,如果从头到尾比较,大小都一样,那么相等

 

  1. 字符串 s1 > s2 ,返回值 > 0,s1 = s2,返回值 = 0;s1 < s2 ,返回值 <0
  2. 字符串比较大小,不能用关系运算符
;