初学C语言知识点——字符串

知识点:字符串

定义:一堆字符组成的序列,并以\0结尾。

字符串数组表示法:

char str[50]={“abc”};

char str[] = “abc”;

char str[50] = “abc”

指针表示法:

char * str = “abc”;

指针自己不保存字符串,而是指向常量区里面保存的摸个字符串的地址

数组表示法和指针表示法的区别:

1. 数组表示法可以改变数组内的值,指针表示法不可以(掌握)

2. 数组表示法可以接受用户输入的值,指针表示法不可以(掌握)

3. 数组表示法不能用==来判断一个字符串与另外一个字符串是否相等

(例如:char str[]=”abc”);if(str == “abc”))

指针表示法可以用==来判断一个字符串和另外一个字符串常量是否相等;

普通字符串则需要使用strcmp这个函数来比较;

(例如:char*str = “abc”;if(str) == “abc”))

字符串的输出:printf 加%s 可以输出

puts(字符串):也可以输出

区别:

1.puts 不需要格式化控制符,printf 需要

2.puts只能输出字符串,printf其他类型都可以输出

3.puts自带换行,printf没有自带换行

字符串的输入:

scanf + %s 可以输入

gets也可以输入

区别:

1.gets只能输入字符串,scanf什么格式都能输入

2.gets不用加%s scanf要加%s

字符串的使用方法需要添加头文件

#include

1. 字符串比较函数

strcmp

语法:strcmp(字符串1,字符串2);

是比较两个字符串谁大谁小。

是比较字符串1是否比字符串2大:如果比字符串2大,返回正数;如果比字符串2小,返回负数;如果一样,返回0;

按照字符串第一个字母进行比较,如果第一个字母不等,那么就直接返回结果

如果第一个字母相等,那么就继续比较第二个字母。如果第二个字母还相等就继续比较第三个字母,以次类推。

strcmp主要比较两个字符串是否相等(if)

2.字符串拷贝函数

语法:strcpy(字符数组,字符串2);

把字符串2的内容,复制到字符数组,如果字符数组里面原来就有内容,就会覆盖。

注意:左边那个只能传字符数组,不能传字符指针。

3.字符串连接函数

语法:

strcat(字符数组,字符串2);

把字符串2的内容接到字符数组原实际的内容的后面

4.侧字符串实际长度函数

strlen(字符串名)

计算字符串实际内容长度的,\0不参与计算。

注意:一个中文占3个字节,那么用它计算中文的话,会用中文的实际个数*3

原理是:计算实际字符串占用的字节数。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180305A17EAO00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券