結構體 字串函式複習記錄

2021-08-08 18:16:09 字數 1855 閱讀 5082

以多少個位元組為單位分配記憶體

找結構體中佔位元組數最多的基本型別,以它的位元組數為單位為結構體開闢記憶體。

注意:當有double 型別成員的時候

vc中以八字節為單位開闢記憶體,double 型別的成員為8位元組對齊

gcc 以四位元組為單位開闢記憶體,並且double型別的成員為4位元組對齊

位元組對齊

char型成員1位元組對齊,即隨便乙個位元組空間都可以存放char型資料

short型成員 2位元組對齊,即存放short型成員的記憶體編號必須是2的倍數

int 型成員 4位元組對齊,及存放int型成員的記憶體邊行必須是4的倍數

字串函式的實現

/*原型宣告:char *strcpy(char* dest, const char *src);

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

返回指向dest的指標。

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

/*trcpy只是複製字串,但不限制複製的數量,很容易造成緩衝溢位。strncpy要安全一些*/

char * strncpy(char *dest,const char *src,size_t count)

/*將兩個char型別連線。

char d[20]="goldenglobal"; char *s="view"; strcat(d,s);

結果放在d中

printf("%s",d);

輸出 d 為 goldenglobalview (中間無空格)

d和s所指記憶體區域不可以重疊且d必須有足夠的空間來容納s的字串。

返回指向d的指標。

*/char *strcat(char *dest,const char *src)

/*功能

把src所指字串的前n個字元新增到dest所指字串的結尾處,並覆蓋dest所指字串結尾的'\0',從而實現字串的連線。

說明src和dest所指記憶體區域不可以重疊,並且dest必須有足夠的空間來容納src的字串。

返回值返回指向dest的指標*/

char * strncat(char *dest,const char *src,size_t count)}}

return tmp;

}/*當s1s2時,返回正數。

即:兩個字串自左向右逐個字元相比(按ascii值大小相比較),直到出現不同的字元或遇'\0'為止。

*/int strcmp(char *s1,char *s2)

if(*s1 != 0)

return 1;

else

return -1;

return 0;}/*

int strncmp ( const char * str1, const char * str2, size_t n );

str1, str2 為需要比較的兩個字串,n為要比較的字元的數目。

字串大小的比較是以ascii 碼表上的順序來決定,此順序亦為字元的值。strncmp()首先將s1 第乙個字元值減去s2 第乙個字元值,若差值為0 則再繼續比較下個字元,直到字元結束標誌'\0',若差值不為0,則將差值返回。例如字串"ac"和"ba"比較則會返回字元"a"(65)和'b'(98)的差值(-33)。注意:要比較的字元包括字串結束標誌'\0',而且一旦遇到'\0'就結束比較,無論n是多少,不再繼續比較後邊的字元。

*/int strncmp(char *s1, char *s2, int len)

else

}return 0;

}

字串 結構體 檔案

1 strcpy s1,s2 複製字串 s2 到字串 s1。2 strcat s1,s2 連線字串 s2 到字串 s1 的末尾。3 strlen s1 返回字串 s1 的長度。4 strcmp s1,s2 如果 s1 和 s2 是相同的,則返回 0 如果 s1s2 則返回大於 0。5 strchr ...

字串函式記錄

字串函式 include 1 字串中都以 0 來判斷字串結尾 2 字串函式中 形參 char 實參 char陣列或者字串常量 常用函式 1 字串拷貝 strcpy char a,char b 把b拷貝到a當中 若a不夠長則陣列越界 2 字串比較大小 int strcmp char s1,char s...

字串複習

package com.hanqi public class bird1 string str2 new string a system.out.println str2 str2 2.字串比較 運算,比較的是記憶體的位址是否相等,而new則是開闢了新的記憶體空間,所以字串不能用 判斷 system...