知識點checklist
1、 strlen()函式的返回值是什麼型別的?
2、 字串strlen() 的值,是否和他佔據的記憶體空間相同?
3、 你是否知道strcpy 函式存在的潛在風險?如何避免?
4、 如果乙個字串沒有字串結束符,而呼叫str 開頭的庫函式,會發生什麼?
5、 strcpy(),strcat(),strcmp(),strncpy(),strncat(),strncmp()內部到底是如何執行的?這些函式到底對源字串和目標字串做了些什麼?你是否觀察過它們執行時兩個字串記憶體的變化?
6、 上面這些函式使用時,各有哪些需要注意的地方?
7、 你會幾種字串查詢操作?
8、 c語言中有字串這個資料型別嗎?
9、 對字串進行操作的時候,是否為字串結尾符預留儲存位置?不然的話容易造成非常訪問記憶體。
answer:
1. unsigned int型別。
2. 不是,比實際占用記憶體少1個位元組,缺少'/0'占用的空間。
3. strcpy(string1,string2);將string1複製到string2中,這個複製包含'/0'。風險之一就是string2的長度比string1長的話,string1就不包含'/0',沒有結束符號會在以後使用中帶來很大的問題。
4. 函式會在記憶體中一直向下尋找'/0'字元,直至找到,導致訪問越界。
5. 待新增。 6. 待新增。 7. 待新增。
8. c中是使用字元陣列或者字元指標代替字串的,其中字元指標是const的。 9. 不會自動預留,需要我們在分配空間時多分配乙個空間。
字串小知識點
1 字串操作 strcpy p,p1 複製字串 strncpy p,p1,n 複製指定長度字串 strcat p,p1 附加字串 strncat p,p1,n 附加指定長度字串 strlen p 取字串長度 strcmp p,p1 比較字串 strcasecmp忽略大小寫比較字串 strncmp p...
字串知識點(一)
優點 可以支援索引和切片的操作 特徵 第乙個正索引為0,指向的是左端,第乙個索引為負數的時候,指向的是右端 切片 高階特性 可以根據下表來獲取序列物件的任意 部分 資料 語法結構 開始 結束 步長 步長預設1 下標會越界,切片不會 字串常用函式 1 capitalize 首字母變大寫 2 endsw...
c語言知識點checklist解答
字串 5 w w 周,下同 知識點checklist 1 strlen 函式的返回值是什麼型別的?size t型別 一種和機器相關的unsigned型別。類似的還有wchar t,ptrdiff t.在新標準中wchar t已經成為乙個新的型別關鍵字。2 字串strlen 的值,是否和他佔據的記憶體...