前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >C语言教程学习36-40节 字符串函数+结构

C语言教程学习36-40节 字符串函数+结构

原创
作者头像
笃信好学
发布于 2022-10-03 08:55:17
发布于 2022-10-03 08:55:17
35100
代码可运行
举报
文章被收录于专栏:笃信好学笃信好学
运行总次数:0
代码可运行

36.const关键词

const 变量 禁止修改
const 变量 禁止修改

37.字符串处理函数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <string.h>
strlen函数
strlen函数
strlen 与sizeof
strlen 与sizeof

C 库函数 - strcat()

声明

下面是 strcat() 函数的声明。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
char *strcat(char *dest, const char *src)

参数

  • dest -- 指向目标数组,该数组包含了一个 C 字符串,且足够容纳追加后的字符串。
  • src -- 指向要追加的字符串,该字符串不会覆盖目标字符串。

返回值

该函数返回一个指向最终的目标字符串 dest 的指针。

strcat()例子
strcat()例子

C 库函数 - strcpy()

C 库函数 char *strcpy(char *dest, const char *src) 把 src 所指向的字符串复制到 dest。

需要注意的是如果目标数组 dest 不够大,而源字符串的长度又太长,可能会造成缓冲溢出的情况。

strcpy()实例
strcpy()实例

C 库函数 - strcmp()

C 库函数 int strcmp(const char *str1, const char *str2) 把 str1 所指向的字符串和 str2 所指向的字符串进行比较。

该函数返回值如下:

  • 如果返回值小于 0,则表示 str1 小于 str2。
  • 如果返回值大于 0,则表示 str1 大于 str2。
  • 如果返回值等于 0,则表示 str1 等于 str2。
strcmp()实例
strcmp()实例

38.实现字符串处理函数

本节目标
本节目标

39.初识结构化数据

数组声明
数组声明
访问结构
访问结构

40.结构

结构初始化
结构初始化
结构数组
结构数组
结构嵌套
结构嵌套
指向结构的指针, 用->调用
指向结构的指针, 用->调用

6. 结构在函数中传递

对比下面两段代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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;
}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 。并且,对其进行修改。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
【Git】012-Git 仓库初始化
在第一次使用 Git 之前,通常需要进行一些全局配置,以便 Git 能够识别你的身份信息。你可以使用以下命令进行配置:
訾博ZiBo
2025/01/06
1430
新手创建第一个GitHub项目,一步一步将本地项目提交到GitHub
本文将要记录的是,创建第一个 GitHub 项目,并将自己的本地项目上传到 GitHub。
德顺
2020/03/09
10.5K0
新手创建第一个GitHub项目,一步一步将本地项目提交到GitHub
Git小白创建第一个项目并关联远程仓库
创建一个本地仓库 git init 创建一个文件,并添加到暂存区 git add README.md 提交更新到本地仓库 git commit -m "first commit" 将本地仓库关联远程仓库 git remote add origin http://localhost:3000/zixiao217/springDataJPA.git 将本地仓库代码推送到远程仓库 git push -u origin master 从命令行推送已经创建的仓库 git remote add origin http:
青山师
2023/05/05
1930
git 入门教程之远程仓库 原
如果说本地仓库已经足够个人进行版本控制了,那么远程仓库则使多人合作开发成为可能. 如果你只是打算自己使用git,你的工作内容不需要发布给其他人看,那就用不到远程仓库的概念.
雪之梦技术驿站
2019/04/03
5070
git 入门教程之远程仓库
                                                                            原
【Git笔记1】本地项目与GitHub远程仓库互联
秋招面试的时候,面试官就问了我:你会Git吗?我迟疑看着他,他微笑着说,入职前要抓紧时间好好学习一下。
用户6543014
2019/11/14
3690
【git】github|创建本地上传到github下的项目和克隆远程仓库的指定分支
本文默认已经搭建好git环境。 一、创建仓库 第一步、点击右上角的头像下的“Your repositories” 第二步、点击New 第三步、编辑新建的仓库 点击3后,得到下图 二、window本地文件上传操作 第一步、打开E盘下的git bash 点击右键 第二步、创建一个gittest文件夹 输入 mkdir gittest 第三步、安装github下的提示输入下面的指令 echo "# test" >> README.md git init git add READM
心跳包
2021/09/26
8980
【git】github|创建本地上传到github下的项目和克隆远程仓库的指定分支
代码管理| 本地Git仓库和远程仓库的创建及关联
顺便说一下:Github账号创建私人项目的话需要付费,可以在码云上面创建个人私有仓库,是免费的。
進无尽
2018/09/12
6.3K0
代码管理| 本地Git仓库和远程仓库的创建及关联
Gitlab安装部署及基础操作
环境说明 系统版本 CentOS 7.2 x86_64(较新版本的gitlab集成了更多功能,顺利运行起来的硬件要求较高,这里给了3G内存) 软件版本 gitlab-ce-10.8.4
仙人技术
2020/04/29
5.4K0
Pycharm连接Github,下载上传管理与git bash 连接gitlab
怎么通过Pycharm连接Github,下载上传管理? Git&Pycharm心得:Pycharm是python开发IDE,GitHub是程序员的圣地.
学到老
2019/02/14
2.4K0
(超详细)使用git命令行将本地仓库代码上传到gitee/github远程仓库
    最近在上传项目到gitee(github)的时候,总是会遇到各种各样奇奇怪怪的BUG,导致最终无法正确上传项目,于是终于摸索到了一套最简洁和便利的方式利用Git命令行的方式将代码从本地仓库上传到远程仓库。
上分如喝水
2021/08/16
19.7K0
(超详细)使用git命令行将本地仓库代码上传到gitee/github远程仓库
将本地项目上传至 Github
如果执行 git push -u origin master 报错,是因为在 github 上项目不是空的,大部分情况是因为有一个 README.md 文件
solocoder
2022/04/06
8320
持续集成之Gitlab安装与应用
Gitlab 是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的 Git 项目仓库,可通过Web 界面进行访问公开的或者私人的项目 Gitlab 拥有与 Github 类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,他非常易于浏览提交过的版本并提供一个文件历史库。他还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找
小手冰凉
2020/03/18
6490
持续集成之Gitlab安装与应用
【Git笔记1】本地项目与GitHub远程仓库互联
秋招面试的时候,面试官就问了我:你会Git吗?我迟疑看着他,他微笑着说,入职前要抓紧时间好好学习一下。
小小詹同学
2019/11/11
6920
Git 命令记录
郭顺发
2023/07/17
1340
『 利器篇 』GitLab仓库的迁移
其中PRIVATE-TOKEN需要User Settings->Access Tokens获取
程序手艺人
2020/01/13
2.9K0
『 利器篇 』GitLab仓库的迁移
git new repository上传
Command line instructions Git global setup git config --global user.name "* *" git config --global user.email "**@**.com" New repository git clone ssh://git@***/***/abc.git cd abc touch README.md git add README.md git commit -m "add README" git push -u ori
chaibubble
2021/12/07
2410
Gitlab的基本使用与备份恢复升级
 使用http方式推送代码每次都需要输入账号密码,所以推荐使用ssh方式推送代码,在Gitlab中添加ssh-key的方式就可以了!
非著名运维
2022/06/22
6660
Gitlab的基本使用与备份恢复升级
如何上传项目到GitHub
github作为开源的分布式版本管理系统,上面有众多的优秀开源项目,也有丰富的学习资料,熟练使用github也是程序员的一项必备技能。下面简单介绍下如何提交代码到github。
吾非同
2020/10/23
8630
如何上传项目到GitHub
本地仓库推送到gitee
Git 全局设置: git config --global user.name "ye" git config --global user.email "13@qq.com" 创建 git 仓库: 1、创建项目名称 mkdir xxx-vue 2、进入项目 cd xxx-vue 3、初始化仓库 git init 4、创建说明文档 touch README.md 5、添加到本地仓库 git add README.md 6、提交到本地仓库 git commit -m "first commit" 7、关联远程仓
编程那点事
2023/02/25
9880
【Git】IntelliJ IDEA 提交代码到 GitCode 远程仓库 ( GitCode 创建远程仓库 | 将本地工程推送到 GitCode 远程仓库 | 验证权限 | 生成个人访问令牌 )
GitHub 又挂了 , 国内不太好用 , 现在开始使用 gitcode , 地址为 https://gitcode.net ;
韩曙亮
2023/03/30
1.6K0
【Git】IntelliJ IDEA 提交代码到 GitCode 远程仓库 ( GitCode 创建远程仓库 | 将本地工程推送到 GitCode 远程仓库 | 验证权限 | 生成个人访问令牌 )
推荐阅读
相关推荐
【Git】012-Git 仓库初始化
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档