一. 字符串
1. 字符串定义
字符串:'字符'构成的一个有"序列表"
定义字符串:
char s1[] = "abc";
char *s2 = "abc";
二者长度都是4,都包含结尾字符'\0'
二者区别
数组,可以基于下标修改内容,但不能改变指向
指针,指向一个字符串常量,可以改变指向,指向新的字符串,但字符串内容不可变
2. 字符串操作
需要头文件 string.h
常用函数:
- size_t strlen(const char *str) 计算字符串str
的长度,不包括最后的空字符'\0
'。
- char *strcat(char *dest, const char *src) 将字符串src
连接到字符串dest
的末尾,并在连接后的字符串末尾添加空字符\0
。注意,dest
必须有足够的空间来存储连接后的字符串。
- char *strcpy(char *dest, const char *src) 将字符串src
复制到dest
指向的内存中,覆盖dest
原有的内容,并在复制的字符串末尾添加空字符\0
。
- int strcmp(const char *str1, const char *str2) 比较两个字符串str1
和str2
。如果str1
小于str2
,返回负数;如果相等,返回0;如果str1
大于str2
,返回正数。
二. 结构体
1. 定义
结构体(struct
)是一种用户自定义的数据类型,允许你将多个不同类型的数据项组合成一个单一的复合数据类型。
定义时注意内存分配对齐, 基本数据类型按照最大的
struct student{
char name[];
int score;
}
2. 结构体和类的区别: 结构体 类
1.方法学 面向过程 面向对象
2.字段 + +
3.函数/方法 - +
4.继承 - +
5.赋值操作 拷贝 指针