当前位置: 首页 > news >正文

企业管理网站系统在线制作电子公章免费公章在线生成

企业管理网站系统,在线制作电子公章免费公章在线生成,网店设计师是干什么的,网站开发页面在C语言中#xff0c;有一种特殊的数据类型#xff0c;即字符串类型。C 并没有专门定义一个字符串类型#xff0c;这对我们使用字符串造成了一定的麻烦。但是#xff0c;C标准库string.h 中定义了各种字符串函数#xff0c;这对于我们来说是一件值得庆幸的事情。…        在C语言中有一种特殊的数据类型即字符串类型。C  并没有专门定义一个字符串类型这对我们使用字符串造成了一定的麻烦。但是C标准库string.h 中定义了各种字符串函数这对于我们来说是一件值得庆幸的事情。 本片着重讲解一些常用的字符串函数以及它们的实现方法思路并尝试自己独自模拟实现它们以便于对字符串操作有更深的理解。 字符串简介  C语言中的字符串类型是以字符数组的形式表示的即用一组字符数组来表示一个字符串例如 char str[10] hello; // 定义一个长度为10的字符数组初始化为hello其中char表示字符类型str表示字符数组的名称10表示字符数组的长度hello表示初始值。 C语言中的字符串还可以使用字符串指针来表示例如 char *str hello; // 定义一个指向字符数组的指针指向hello其中char *表示字符指针类型str表示指针变量的名称hello表示字符串常量也就是一段字符数组的初始值。注意使用字符串指针表示字符串时需要保证指针指向的字符串常量是合法的并且不能修改它的值否则会发生未定义的行为。 头文件string .h  string.h是C语言标准库中的一个头文件提供了一些字符串处理相关的函数和宏。 统一说明 统一说明         养成良好的代码习惯         1.在实现字符串操作的时候如果不希望字符串被改变在函数形参前加上const提高代码的健壮性。         2.使用指针前判断将要解引用的指针是否是空指针assert进行断言。   对于每一个函数使用的注意事项放在每个函数模拟实现的末尾  strlen 作用 返回字符串中  ‘\0‘  之前的所有字符数。 函数原型 函数参数  str是存放要操作的字符串的地址的指针 返回值类型 size_t表示无符号整型的理解由实际意义返回的字符数不会是负数并且看到 size_t的size就可以知道此类型是表示大小尺寸的类型。  模拟实现 法一计数变量法 #includestdio.hint my_strlen(char*p) {int c 0;while(*p){c;p;}return c; } int main() {char arr[] ahufkh;printf(%d,my_strlen(arr));return 0; }法二 指针相减法 #includestdio.hint my_strlen(char* p) {char* start p;while(*p){p;}return p - start; } int main() {char arr[] ahufkh;printf(%d,my_strlen(arr));return 0; } 对size_t的补充         易错点                对于无符号整数运算结果小于0由于不存在符号位所以结果会被当做很大的整数。         e.g.1 #typedef unsigned int uint int main() {uint a 3;uint b 6;uint c a - b;//此时c是很大的整数}         结果为负值c被当作很大的整数。   strcpy 作用 将源字符串拷贝到目的地字符串。 函数原型 函数参数 1.char* dest即目的地字符串const char* sou 即源字符串。 返回值类型 返回拷贝后目的地字符串的地址。 模拟实现 #includestdio.h #includeassert.h char* my_strcpy(char* dest,const char* sou) {char* s dest;assert(dest sou);while(*dest *sou){;}return s; } int main() {char arr1[] abcdefghijk;char arr2[] iii;char* s my_strcpy(arr1,arr2);printf(%s,s);return 0; } 记得const与assert断言 注意 1.sou字符串必须有  ’\0‘  作为结尾。 2.dest字符串必须足够大防止越界并且可修改不是常量字符串。 strcat 作用 将源字符串拷贝到目的地字符串中并且源字符串的的一个字符覆盖掉目的地字符串中的  ’\0‘  。 函数原型 函数参数 1.const 修饰的源字符串和目标字符串。 返回值类型 copy后的目标字符串的地址。 模拟实现 #includestdio.h #includeassert.h char* my_strcat(char* dest,const char* sou) {char* start dest;assert(dest sou);while(*dest){dest;}while(*dest *sou){;}return start; } int main() {char arr[50] abc;char arr1[] defg;char* p my_strcat(arr,arr1);printf(%s,p);return 0; } 注意         1.cou与dest字符串必有  \0  作为结束标志。         2.目标字符串必须足够大。         3.strcat的两个函数参数不能相同。一个字符串对自己追加那么一开始自己的结束表示就被覆盖了这样将造成死循环。 strcmp 作用 比较两个字符串的大小 函数原型 函数参数 两个const 修饰的字符串 返回值类型 整型数值—— if第一个第二个返回值0; if第一个第二个返回值0 if第一个第二个返回值0。 模拟实现 #includestdio.h #includeassert.h int my_strcmp(const char* str1,const char* str2) {while(*str1 *str2){if(*str1 \0){return 0;}str1;str2;}return str1 -str2; } int main() {char arr1[] abcde;char arr2[] abb;int ret my_strcmp(arr1,arr2);if(ret 0){printf(arr1 arr2);}else if(ret 0){printf(arr1 arr2);}else{printf(arr1 arr2);}return 0; } strstr 作用 返回str2在str1中第一次出现的位置若找不到则返回NULL字符串的比较匹配不包含  \0  ,但是以  \0   为结束标志。 函数原型 函数参数 查找的样本字符串和被查找的目标字符串。 返回值类型 str1中str2第一次出现的位置。 模拟实现 #includestdio.h #includeassert.h char* my_strstr(const char* p1,const char* p2) {assert(p1 p2);const char* cur p1;const char* s1 NULL;const char* s2 NULL;while(*cur){s1 cur;s2 p2;while(*s1 *s2 s1 s2){s1;s2;}if(*s2 \0){return (char*)cur;}cur;}return NULL; } int main() {char arr1[] abbbbbcdefg;char arr2[] bbc;char* p my_strstr(arr1,arr2);printf(%s,p);return 0; } 思路         对于停下来的情况有         1.s1找到\0的同时s2也找到\0则找到若s2没有到\0,则没有找到         2.s2到\0,找到。         3.*s1 ! *s2         于是对s1中的每一个位置向后匹配s2的字符如果有一个匹配失败则从s1的下一个位置开始匹配。 完~ 未经作者同意禁止转载
http://www.dnsts.com.cn/news/8579.html

相关文章:

  • 洛阳建设网站的公司石河子网站设计
  • wordpress多站点开启北京办公室装修
  • 集团网站建设案例wordpress自动分页
  • 网站建设营销平台如何制作短视频教程
  • 百度上搜不到网站义乌手工活外发加工网160网app
  • 华为企业网站建设需求分析网件路由器无线中继
  • 做网站的几个步骤自建网站访问报错
  • 阿里巴巴国际站特点中国甘肃网
  • 知名的传媒行业网站开发建设政协网站的意义
  • 网站怎么做微博链接wordpress 去掉页脚
  • 女性门户资讯类网站织梦dedecms模板手机网站关键词排
  • 用ps做网站网页网站管理内容
  • 学校校园网站建设方案常德网站建设费用
  • 大力推广建设电子商务网站技术哪个素材网站比较好用
  • 内蒙网站设计公司模块化wordpress主题
  • 外贸网站翻译建设网站开发完成后如何发布
  • 高端网站制作网站设计开发商和承建商的区别
  • 免费建站系统有哪些龙岩kk人才网招聘
  • 保定seo建站网站程序语言那个好
  • 做网站网站的网站建设与管理专业好吗
  • 民族建设集团有限公司官方网站备案网站怎么做
  • 网站建设现在主要做些什么网站建设目的与意义
  • 做二手网站赚钱不个人网站制作多少钱
  • 中小企业建站服务免费稳定的云服务器
  • c 做网站时字体颜色的代码wordpress带个人充值中心
  • 京东网站是自己做的吗域名邮箱登录入口
  • 企业做年度公示在哪个网站aws ec2安装wordpress
  • 阿里云服务器开源做几个网站国外一个专门做配乐的网站
  • 企业模式网站列表管理器网页制作与设计项目策划书
  • 做教育的网站有哪些广州免费建站推荐