第 7 章 数组与字符串
1 第 7 章 数组与字符串
7.2字符数组与字符串、学符数组与字符审字符数组:可以存放若干个字符,也可以存放字符串。字符串:字符串的末尾必须有0'字符,它的ASCII码值为0。7字符数组定义:char数组名[exp];ans[10];如: chars数组是一维字符数组,它可以存放10个字符或一个长度不大于9的字符串。字符串一定是字符数组,但是字符数组不一定是字符串。只有以数值0结尾的字符数组是字符串。Page
Page 2 7.2 字符数组与字符串 一、字符数组与字符串 字符数组: 可以存放若干个字符,也可以存放字符串。 字符串:字符串的末尾必须有’\0’字符,它的ASCII码值为0。 字符数组定义:char 数组名[exp]; 如:char s[10]; s数组是一维字符数组,它可以存放10个字符或一个长度不大于9的字符 串。 c h i n a \0 字符串一定是字符数组,但是字符数组不一定是字符串。 只有以数值0结尾的字符数组是字符串
二、字符数组(字符串)的初始化1逐个元素初始化例如 : char c[10]={'c,"h',‘a,r'};说明:如果初值个数>数组长度,则作语法错误处理;如果初值个数<数组长度,则只将这些字符赋给数组中前面那些元素,其余元素自动定为空字符(即’10”);如果初值个数-数组长度,则在定义时可省略数组长度。h10°P100r00caPageU
Page 3 1.逐个元素初始化。 例如:char c[10] = {'c', ' h', 'a', 'r' }; 说明: ❖如果初值个数>数组长度,则作语法错误处理; ❖如果初值个数<数组长度,则只将这些字符赋给数组中前面那些 元素,其余元素自动定为空字符(即’\0’); ❖如果初值个数=数组长度,则在定义时可省略数组长度。 c h a r '\0' '\0' '\0' '\0' '\0' '\0' 二、字符数组(字符串)的初始化
二、字符数组(字符串)的初始化2.用常字符串来初始化字符数组char a[l1l="Iam a boy""特别注意:常字符串是常量,就像数字一样,不能修改。Page
Page 4 2. 用常字符串来初始化字符数组 char a[11] =“I am a boy” ; 二、字符数组(字符串)的初始化 特别注意: 常字符串是常量,就像数字一样,不能 修改
7.22字符数组(字符串)的引用字符数组与字符串是通过字符数组名来引用的,如下:void mainO[char str1[10],str2[10];int i;for( i=0;i<10; i++ )[str1[i]= getchar(;1for( i=0;i<10;i++ ){str2[i]=str1[i];1for( i=0;i<10;i++ ){putchar( str2[i] );1
Page 5 7.2 .2 字符数组(字符串)的引用 字符数组与字符串是通过字符数组名来引用的,如下: void main(){ char str1[10],str2[10]; int i; for( i=0;i<10; i++ ){ str1[i] = getchar(); } for( i=0;i<10;i++ ){ str2[i]=str1[i]; } for( i=0;i<10;i++ ){ putchar( str2[i] ); } }