指標與陣列(二) 字串認知

2021-07-15 04:45:39 字數 2822 閱讀 7390

用c語言實現各字串函式

一.字串比較函式strcmp、strncmp

strcmp

int strcmp( const char *string1 , constchar *string2 )

功能:比較字串string1和string2大小

返回值<0,表示string1小於string2;

返回值=0,表示string1等於string2;

返回值》0,表示string1大於string2。

功能:比較字串string1和string2大小,只比較前面count個字元。

返回值<0,表示string1的子串小於string2的子串;

返回值=0,表示string1的子串等於string2的子串;

返回值》0,表示string1的子串大於string2的子串。

二.字串拷貝函式strcpy、strncpy

strcpy

char *strcpy(char* dest, const char *src);

功能:把從src位址開始且含有null結束符的字串複製到以dest開始的位址空間

。src和dest所指記憶體區域不可以重疊且dest必須有足夠的空間來容納src的字串。返回指向dest的指標

功能:複製字串src中的內容(字元,數字、漢字....)到字串dest中,複製多少由size_tn的值決定。如果src的前n個位元組不含null字元,則結果不會以null字元結束。如果n

三.字串長度函式strlen

size_t strlen(const char *string);

功能:獲取字串長度,字串結束符null不計算在內。沒有返回值表示操作錯誤

四.字串連線函式strcat、strncat

strcat

char *strcat(char *strdestination, const char *strsource);

功能:將源串strsource新增到目標串strdestinatin後面,並在得到的新串後面加上null結束符。源串strsource的字元會覆蓋目標串strdestinatin後面的結束符null。在字串複製或新增過程中沒有溢位檢查,所以要保證目標字串空間足夠大。不能處理源串與目標串重疊的情況,函式返回strdestination。

功能:把src所指字串的前n個字元新增到dest所指字串的結尾處,並覆蓋dest所指字串結尾的'\0',從而實現字串的連線。src和dest所指記憶體區域不可以重疊,並且dest必須有足夠的空間來容納src的字串。返回指向dest的指標。

五.字串清空函式memset、bzero

memset:

void *memset(void *dest, int c, size_t count);

功能:將dest前面count位元組的字元置為字元c,返回dest的值

功能:置位元組字串

s的前n個位元組為零且包括『\0』。bzero無返回值,並且使用string.h標頭檔案,string.h曾經是posix標準的一部分,但是在posix.1-2001標準裡面,這些函式被標記為了遺留函式而不推薦使用。在posix.1-2008標準裡已經沒有這些函式了。

指標陣列,陣列指標,字串與指標

在研究指標陣列與陣列指標的時候,遇到了這個困惑,後面解答。void test02 char c 4 char p2 4 指標陣列 for int j 0 j 4 j for int i 0 i 4 i 指標陣列是陣列,即乙個陣列中,每個元素都是指標 void test05 注意這一行和最後一行的區別...

字串陣列與指標

思維 於一道題 char str1 abc char str2 abc const char str3 abc const char str4 abc const char str5 abc const char str6 abc cout boolalpha str1 str2 endl 輸出什麼...

陣列 字串與指標

指標變數既可以指向變數,當然也可以指向陣列元素。就是把陣列元素的位址放入指標變數中。陣列元素的指標就是它的位址。用陣列名做函式引數時,實參和形參對應關係有四種。一是實參形參都用陣列名。二是實參形參都用指標變數。三是實參用指標變數,形參用陣列名。四是實參用陣列名,形參用指標變數。在c語言中,也有兩種方...