本章标题是字符串和字符串函数。主要是了解和字符串有关的函数。
1.字符串表示和字符串I/O
主要内容:字符串常量和字符串数组的初始化,对比了指针和字符串。
其中要注意的是,数组初始化是从静态存储区把一个字符串复制给数组,而指针初始化只是复制字符串的地址。但是绝大多数的C字符串操作使用的都是指针。
2.字符串的函数
无论怎么样,先分配足够的空间。介绍了三种输入函数gets()、fgets()、scanf()和三种输出函数puts()、fputs()、printf(),以及strlen()、strcat()等函数。
/* mod_str.c -- modify a string */ #include <stdio.h> #include <string.h> #include <ctype.h> #define Limit 80 void ToUpper (char *); int PunctCount(const char *); int main (void) { char line[Limit]; puts ("Please enter a line:"); gets (line); ToUpper (line); puts (line); printf ("That line has %d punctuation characters.\n", PunctCount (line)); return 0; } void ToUpper (char * str) { while (*str) { *str = toupper (*str); str++; } } int PunctCount (const char * str) { int ct = 0; while (*str) { if (ispunct (*str)) ct++; str++; } return ct; }
这个代码充分体现了指针的简洁性。细细体会。
不过c语言处理字符串总的来说还是挺麻烦,还是Python大法好。