1. 程式人生 > >c字元與字串

c字元與字串

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);