初识C语言 DAY10 【字符串介绍和字符串处理函数介绍】

文章目录

  • 前言
    • 本文章总结于此视频
  • 一.字符串介绍:
  • 二、字符串处理函数介绍:
    • 获取字符串长度:strlen函数
    • 拷贝字符串:strcpy函数![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/be31ca76d36047cf943820dcf8c75218.png#pic_center)
    • 拷贝字符串:strncpy
    • strcmp函数
  • 如果您发现文章有错误请与我留言,感谢


前言

本文章总结于此视频

一.字符串介绍:

字符串常量:“AAAA”
字符数组的几种写法:
初识化字符的每个元素

char str1[10] = {'1','2','3','\0'};

可以不写元素个数,编译器会自己计算

char str2[] = {'1','2','3','\0'};

使用字符串常量初识化字符数组

char str3[] = {"AAAA"};

使用字符串常量初识化字符数组,可以去掉大括号。

char str3[] = "AAAA";

二、字符串处理函数介绍:

获取字符串长度:strlen函数

这里是引用

strlen函数(string length)的作用是用于返回字符串结束标志‘\0’之前出现的字符个数,
因此,strlen函数处理的字符串对象必须是以结束标志‘\0’结尾的字符串。其返回值类型是size_t类型,也就是无符号类型。


strlen函数就表示字符串中字符的个数,但不包含’\0’
sizeof 会包括

#define _CRT_SECURE_NO_WARNINGS
#include
#include 
#include 
int main()
{
	char str1[] = "AAAAA";
	printf("sizeof str = %d\n", sizeof(str1));
	printf("strlen str = %d", strlen(str1));
	return 0;
}

运行如下:
初识C语言 DAY10 【字符串介绍和字符串处理函数介绍】_第1张图片

拷贝字符串:strcpy函数

这里是引用

  1. strcpy函数(string copy)的作用是:可以将字符串从源地址复制到目的地址,通俗来讲就是用来实现字符串的复制和拷贝。
  2. 并且它会将源地址内的结束标志‘\0’一并拷贝过去,因此源地址必须以‘\0’一并拷贝过去,因此源地址必须以‘\0’结尾,且目的地址也将以结束标识符结尾 。
  3. 而且,因为其作用拷贝字符串,因此目标地址的空间必须足够大,必须有足够大的空间容纳下源地址内字符串,同时目的地址的空间必须是可变的,可修改的。VS编译时,如果空间不足还是可以正常输出,但是会有栈区破坏的警告
    ————————————————————
#define _CRT_SECURE_NO_WARNINGS
#include
#include 
#include 
int main()
{
	char str1[] = "HELO WORLD";
	char str2[] = "HEHE";
	char str3[100];
	strcpy(str1, str2);
	strcpy(str3, " AAAAA");
	printf("str1:%s\n", str1);
	printf("str2:%s\n", str2);
	printf("str3:%s\n", str3);
	return 0;
}

初识C语言 DAY10 【字符串介绍和字符串处理函数介绍】_第2张图片

拷贝字符串:strncpy

其与strcpy的区别就是拷贝时不会拷贝\0,要自己设置

char str[n] = '\0';

正确代码如下:

#define _CRT_SECURE_NO_WARNINGS
#include
#include 
#include 
int main()
{
	char str1[] = "TO be or not to be";
	char str2[40];
	strncpy(str2, str1, 5);
	str2[5] = '\0';
	printf("str2: % s\n", str2);
	return 0;
}

初识C语言 DAY10 【字符串介绍和字符串处理函数介绍】_第3张图片
当不写’\0‘,时就会报错:

#define _CRT_SECURE_NO_WARNINGS
#include
#include 
#include 
int main()
{
	char str1[] = "TO be or not to be";
	char str2[40];
	strncpy(str2, str1, 5);

	printf("str2: % s\n", str2);
	return 0;
}

初识C语言 DAY10 【字符串介绍和字符串处理函数介绍】_第4张图片

strcmp函数

这里是引用

1.trcmp函数(string compare)的作用是:按照顺序依次比较两字符串对应位置字符的ASCII码值(注意不是比较两字符串的长度哦),直到结束标识符‘\0’或对应位置的字符不同。
2.若比较到结束标识符都没有不同则字符串相等,若两字符串对应位置字符有不同,谁的ASCII码值小,那个ASCII码值小的字符比较小。
————————————————————————————
以下为举例:

#define _CRT_SECURE_NO_WARNINGS
#include
#include 
#include 
int main()
{
	char str1[] = "AAAAA";
	char str2[] = "AAAAA";
	if (!strcmp(str1, str2))
	{
		printf("两个字符串完全一致!");
	}
	else
	{
		printf("两个字符串不完全一致!");
	}
	return 0;
}

初识C语言 DAY10 【字符串介绍和字符串处理函数介绍】_第5张图片

#define _CRT_SECURE_NO_WARNINGS
#include
#include 
#include 
int main()
{
	char str1[] = "AAAAA";
	char str2[] = "aaaaa";
	if (!strcmp(str1, str2))
	{
		printf("两个字符串完全一致!");
	}
	else
	{
		printf("两个字符串不完全一致!");
	}
	return 0;
}

初识C语言 DAY10 【字符串介绍和字符串处理函数介绍】_第6张图片

如果您发现文章有错误请与我留言,感谢

你可能感兴趣的:(c语言,数据库,redis,学习)