c字元與字串
阿新 • • 發佈:2019-01-03
1、計算機只有0和1,沒有字元
2、我們看到的字元都是計算機圖形學繪製出來的
3、字串需要兩個要素:字串內容,字串長度,存放一個字串的記憶體大小>=字元的大小+一個位元組的結尾符號
4、字串的初始化:
(1)、常量字串,char* ptr = “Helloworld”; 是在程式碼段分配一個字串內容,然後指標指向這個記憶體,同一個字串,編譯器會為他們分配同一個字串物件,常量字串不能修改(程式碼段記憶體只讀)
(2)、陣列儲存字串 char ptr[] = {'h','e','l','l','o','\0'} ;char ptr[] = "hello";,會自動在尾部加上結尾符 ‘\0’
5、字串的操作
printf("%s",ptr); %s格式化輸出從ptr地址開始一個位元組一個位元組讀取資料,直至遇到結尾符
strlen(ptr) ;返回字串的長度(一個字串包含字元的個數)
strcpy(dst,src); 把從src開始的資料拷貝到dst中,dst的大小一定要比src的大
strcmp(lstr,rstr); 判斷兩個字串是否相等
strncpy(dst,src,size); 從src拷貝size個數據到dst
strncmp(lstr,rstr,size); 比較兩個字串的前size個位元組
strdup() ;複製一個字串物件,自動呼叫malloc動態申請記憶體空間,用完後需要free
char* dup_str = strdup("test");
free(dup_str);