C語言char單字元、字串、字元陣列(二)
阿新 • • 發佈:2019-01-02
//概論:C沒有為字串定義專門的變數型別,而是轉它儲存到char陣列中 //建立單個字元 char a = 'A'; a = 65; a = '\b'; //TODO:建立字元字元&字元陣列 //方式1 字元陣列 char name[] = {'j','a','s','o','n'}; char ch[] = {'a','b','c','d'}; char myFirstC[] = {'a','d','c','b'}; //字元記憶體位元組大小 int d = sizeof(name); int dd = sizeof name; //方式2 //字元陣列 char myT[] = {"hello"}; char myS[] = "hello"; //省略花括號 int md = sizeof(myT); //_______備註:方式1 和 方式2 的輸出結果是一樣的,兩種方法都是將一個或多個記憶體為一位元組的字元初始化為陣列; //當陣列元素個數少於實際長度,出現值異常,如果大於實際長度則補 結束符 '\0' //方式3 //字串陣列指標&單個字元,元素個數大於實際長度則超出的元素為 NULL char *ch3 = "worlddddddddddddddddddddddddddddd88888888888888888888888888888888888888888888888888"; //單個字串 char *ch33 = "world2"; //單個字串 char *ch4[4] = {"welcome", "," ,"doudou745","doudou745","doudou745","doudou745"};//字元指標陣列 char *ch5[] = {"welcome"};; int cd = sizeof(ch4); // 32 字元陣列指標在當前系統佔用32個位元組記憶體空間 int cdd = sizeof(ch3); // 8 字元指標在當前系統佔用8個位元組記憶體空間 int cddd = sizeof(ch33); // 8 字元指標在當前系統佔用8個位元組記憶體空間 //字元陣列取陣列下標元素值 char *aaa = ch4[0]; printf("%s %s",ch3,ch4[2]); //strlen 字串長度,忽略結束符 '\0' size_t aa = strlen(name); //轉十六進位制 printf("%x %X %#x\n",31,31,31); //限制字串輸出 const char *cc = "A good girl tell me that.....I V U"; printf("%.11s\n%35s\n%36s\n%37s\n%-37s",cc,cc,cc,cc,cc); /* A good girl A good girl tell me that.....I V U A good girl tell me that.....I V U A good girl tell me that.....I V U A good girl tell me that.....I V U (lldb) */
//無參初始化
char empty[10];
empty[0] = 'd';
empty[1] = 'e';
gets(empty);