主题 : 字符串和字符的基本知识(实战技巧) 复制链接 | 浏览器收藏 | 打印
arm9之家,加油!一起加油!
级别: 新手上路
UID: 74373
精华: 0
发帖: 24
金钱: 130 两
威望: 26 点
贡献值: 0 点
综合积分: 48 分
注册时间: 2012-07-23
最后登录: 2012-09-27
楼主  发表于: 2012-07-28 09:57

 字符串和字符的基本知识(实战技巧)

字符是源程序的基本构件。每个程序都是由一系列字符构成的。它们按一定的意义组合到一起形成字符系列,并由计算机解释为完成某项任务的一系列指令。程序可以包含字符常量。字符常量是用包括在单引号内的字符表示int类型值。字符常量的值是计算机字符的整数值。例如,‘z’代表z的整数值,而\‘n’代表换行的整数值。

字符串是作为一个整体的一系列字符。字符串可以包含字母、数字和不同的特殊字符,例如+、-、*、/和$等。C语言中的字面量,也就是字符串常量,是包含在双引号中的。如下所示:

“John Q.Doe”                (姓名)

“99999Main Street”          (街道地址)

“Waltham,Massachusetts”   (城市和州)

“(210)555-1212”           (电话号码)

C语言中的字符串是用空字符(‘\0’)结束的字符数组,字符串可以通过指向字符串第一个字符的指针来访问。字符串的值就是它的第一个字符的地址。因此在C语言中,字符串就是指针的说法是正确的。事实上,它就是指向字符串的第一个字符的指针。在这个意义上,

由于数组名称也是指向它的第一个元素的指针,因此字符串和数组类似。

字符串可以在定义中赋给字符数组或者类型为char*的变量。下面的定义:

Char color[]=“blue”;

Const char *colorptr=“blue”;

每条语句都将变量初始化为字符串“blue”。第一条定义语句创建5个元素的数组color,其中包含字符‘b’、‘l’、‘u’、‘e’、和\‘0’。第二条定义语句创建指针变量colorPrt。它指向内存中某个位置上的字符串“blue”。

前面的数组定义也可以写为:

Char color[]={‘b’、‘l’、‘u’、‘e’、和\‘0’};

在定义存储字符串的数组时,数组必须足够打,以存储字符串和空字符,在前面的定义中将自动根据初始化列表中的初始值个数来确定数组大小。

也可以使用scanf将字符串赋给数组,例如,下面的语句将字符串赋给字符数组word[20]:

Scanf(“%s”、word);

用户输入的字符串存储在word中(注意,word是一个数组,当然它也是一个指针,所以参数word并不需要&)函数scanf将读取字符,直至遇到空格,换行符或者文件结束符。注意,字符串的长度不应该超过19个字符,目的是为空字符留下空间。对于要作为字符串输出的字符数组,数组必须包含空字符。
源文件:http://www.lirenedu.org/index.php?ack=xinwen&id=1107
嵌入式培训 http://www.lirenedu.org/