日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于c语言字符串函数和一些内存函数的的简介

發布時間:2023/11/30 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于c语言字符串函数和一些内存函数的的简介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

關于c語言字符串函數和一些內存函數的的簡介

求字符串長度的函數

strlen函數介紹![在這里插入圖片描述](https://img-blog.csdnimg.cn/20190301142458376.jpg)注


模擬實現

. [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
該函數是針對上面的函數有緩沖區重疊的情況。

模擬實現

此函數較上一個函數多了一個判斷,判斷拷貝的區域與被拷貝的區域是否有重疊,在進行操作時還是要強制類型轉換。

總結

以上是生活随笔為你收集整理的关于c语言字符串函数和一些内存函数的的简介的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。