做守望先锋h的网站,学做视频的网站有哪些,网站建设内容工作总结,泉州建设公司网站的公司关于c语言字符串函数和一些内存函数的的简介 求字符串长度的函数 strlen函数介绍注模拟实现
. [1 ]计数器方式 因为strlen 是求字符串长度的函数#xff0c;所以不能改变字符串本身#xff0c;所…关于c语言字符串函数和一些内存函数的的简介 求字符串长度的函数 strlen函数介绍注模拟实现
. [1 ]计数器方式 因为strlen 是求字符串长度的函数所以不能改变字符串本身所以形参用const修饰 创建一个计数器count每当跳到下一个字符时count加一一直到字符串结束count中记录的就是字符串长度 . [2 ] 不创建临时变量计数器 . 此方法用了函数的递归思想每回传出的参数都是上一个参数加一也就是每次跳到字符串的下一个字符当跳到字符串最后一个字符时返回0然后逐层返回最后求出长度
. [3 ]创建一个指针变量
长度不受限制的字符串函数
strcpy 模拟实现 字符串拷贝函数将src拷贝至dest不能修改原字符串内容所以用const修饰 assert函数是断言保证指针有效性。整个while循环用来完成复制src是先读取字符再让指针指向下一个字符 所以dest也是如此当字符串到最后一个字符时while就跳出循环并返回。
strcmp 模拟实现 字符串比较函数是按字典序进行比较的在c中也就是按字符对应的ASCII码码值的大小来进行比较如果前面的大于后面的则返回大于0的数小于返回小于0的数等于返回0.因为只进行比较所以不能改变原字符串所以要用const进行修饰。
strstr
长度受限制的字符串函数介绍
此类函数是为了防止上一类函数存在缓冲区溢出的情况 strncmp
内存操作函数
memcpy 此函数因为是内存复制函数但他并不是按类型复制而是按字节复制这个函数有缺点就是万一要拷贝到的区域与你要拷贝的区域有重叠那么会有不可预料的错误。
模拟实现 此函数有三个参数一个是要拷贝到的区域的位置另外一个是要拷贝的区域还有一个是拷贝多少个字节的大小。 在进行拷贝操作时由于函数的定义形参的时候用的时void*任意类型指针该指针不能进行解引用所以如果要操作该类指针里面的值时要进行强制类型转换。
memmove 该函数是针对上面的函数有缓冲区重叠的情况。 模拟实现 此函数较上一个函数多了一个判断判断拷贝的区域与被拷贝的区域是否有重叠在进行操作时还是要强制类型转换。