C语言教程学习36-40节 字符串函数+结构
2023-06-13 09:13:42 时间
36.const关键词
37.字符串处理函数
#include <string.h>
C 库函数 - strcat()
声明
下面是 strcat() 函数的声明。
char *strcat(char *dest, const char *src)
参数
- dest -- 指向目标数组,该数组包含了一个 C 字符串,且足够容纳追加后的字符串。
- src -- 指向要追加的字符串,该字符串不会覆盖目标字符串。
返回值
该函数返回一个指向最终的目标字符串 dest 的指针。
C 库函数 - strcpy()
C 库函数 char *strcpy(char *dest, const char *src) 把 src 所指向的字符串复制到 dest。
需要注意的是如果目标数组 dest 不够大,而源字符串的长度又太长,可能会造成缓冲溢出的情况。
C 库函数 - strcmp()
C 库函数 int strcmp(const char *str1, const char *str2) 把 str1 所指向的字符串和 str2 所指向的字符串进行比较。
该函数返回值如下:
- 如果返回值小于 0,则表示 str1 小于 str2。
- 如果返回值大于 0,则表示 str1 大于 str2。
- 如果返回值等于 0,则表示 str1 等于 str2。
38.实现字符串处理函数
39.初识结构化数据
40.结构
6. 结构在函数中传递
对比下面两段代码
struct person{
char name[20];
int gender;
double height;
double weight;
};
void change(struct person per)
{
strcpy(per.name, "david");
per.gender = 1;
per.height = 175.00;
per.weight = 65.00;
}
int main()
{
struct person timmy = {"timmy", 1, 170.00, 60.00};
change(timmy);
printf("%s\n", timmy.name);
printf("%d\n", timmy.gender);
printf("%.2f\n", timmy.height);
printf("%.2f\n", timmy.weight);
return 0;
}
struct person{
char name[20];
int gender;
double height;
double weight;
};
void change(struct person *per)
{
strcpy(per->name, "david");
per->gender = 1;
per->height = 175.00;
per->weight = 65.00;
}
int main()
{
struct person timmy = {"timmy", 1, 170.00, 60.00};
change(&timmy);
printf("%s\n", timmy.name);
printf("%d\n", timmy.gender);
printf("%.2f\n", timmy.height);
printf("%.2f\n", timmy.weight);
}
第一种 我们将结构当作参数传入函数。在函数内部修改传入的参数。很显然,由于实参 timmy 与实参 per 是相互独立的。修改函数 change 内的 per 无法改动实参 timmy 。
但是,如果将 change 函数的参数改为指向结构的指针(第二种方法),情况就大不相同了。在函数 change 内部可以通过指针,找到结构变量 timmy 。并且,对其进行修改。
相关文章
- C语言教程学习26-35节 指针全内容第二部分31-35
- 浙大版《C语言程序设计(第3版)》题目集 21~30
- C语言-链表排序_单链表的排序c语言
- 【手把手教程】一文学会使用Sublime搭建轻量级的C语言gcc编译运行环境和Python运行环境(含所有配置流程及脚本)
- C语言大学生考试全面题库2
- Linux C语言信号量编程实践(linuxc信号量)
- C语言源代码字符集和运行字符集
- 教程Linux中C语言学习指南(linux中c语言)
- Linux下安装C语言编译器的指南(linux安装c语言)
- 用Linux C语言轻松创建文件——教程指南(linuxc创建文件)
- Linux C编程参考指南完整版:超全面的C语言开发必备工具书(linuxc参考)
- Linux下C语言开发环境搭建简易教程(linuxcide)
- Linux下C语言编程快速入门教程(linux下c编程教程)
- C语言编程必备:Redis使用教程(redis c 使用教程)
- C语言操作MySQL的语法指南(c 中mysql的语法)
- MySQL数据库从零开始的C语言实现(c mysql数据库实例)
- C语言MySQL视频教程,让你快速掌握技能(c mysql教程视频)
- C语言和MySQL封装技术对比研究(c mysql封装的比较)
- C语言和MySQL实现加密技术(c mysql 加密)
- C语言连接Oracle教程从入门到精通(c 连接oracle教程)
- C语言编程实现Oracle数据库登录(c 登录oracle)
- MySQL示例教程快速上手C语言(c mysql demo)
- C语言与Oracle结合提升任务执行效率(c oracle队列)
- 查用C语言操作Oracle数据库增删改查(c oracle 增删改)
- Lua教程(四):在Lua中调用C语言、C++的函数