婚纱设计网站模板商城,不会编程怎么做网站,网站响应速度优化,推广网站排名优化seo教程8.4.1 字符串的引用方式
在C程序中#xff0c;字符串是存放在字符数组中的。想引用一个字符串#xff0c;可以用以下两种方法。
#xff08;1#xff09;用字符数组存放一个字符串#xff0c;可以通过数组名和下标引用字符串中一个字符#xff0c;也可以通过数组名和格…8.4.1 字符串的引用方式
在C程序中字符串是存放在字符数组中的。想引用一个字符串可以用以下两种方法。
1用字符数组存放一个字符串可以通过数组名和下标引用字符串中一个字符也可以通过数组名和格式声明“%s”输出该字符串。
例定义一个字符数组在其中存放字符串“I love China!”输出该字符串和第8个字符。
#includestdio.h
int main(){char string[]I Love China!;printf(%s\n,string);printf(%c\n,string[7]);return 0;
}
例将字符串a复制为字符串b,然后输出字符串b。
#includestdio.h
int main(){char a[ ]I am a student,b[20];int i;for(i0;*(ai)!\0;i)*(bi)*(ai);*(bi)\0;printf(string a is:%s\n,a);printf(string b is:);for(i0;b[i]!\0;i)printf(%c,b[i]);printf(\n);return 0;
}
例用函数调用实现字符串的复制
#includestdio.h
int main(){void copy_string(char from[],char to[]);char a[]I am a teacher.;char b[]you are a student.;printf(string a%s\nstring b%s\n,a,b);printf(\ncopy string a to string b:\n);copy_string(a,b);printf(string a%s\nstring b%s\n,a,b);return 0;
}
void copy_string(char from[],char to[]){int i0;while(from[i]!\0){to[i]from[i];i; }to[i]\0;
}
8.4.3 使用字符指针变量和字符数组的比较
字符数组和字符指针变量都能实现字符串的存储和运算二者之间区别有以下几点。
1字符数组由若干个元素组成每个元素中放一个字符而字符指针变量中存放的是地址字符串第1个字符的地址绝不是将字符串放到字符指针变量中。
2赋值方式。可以对字符指针变量赋值但不能对数组名赋值。
3初始化含义对字符指针变量赋初值。
char *aI love China!等价于 char *a;aI love China!
4存储单元的内容。编译时为字符数组分配若干存储单元以存放各元素的值而对字符指针变量只分配一个存储单元。
5指针变量的值是可以改变的而字符数组名代表一个固定的值数组首元素的地址不能改变。
例8.21改变指针变量的值
#includestdio.h
int main(){char *aI love China!;aa7; //改变指针变量的值改变指针变量的指向printf(%s\n,a); //输出从a指向的字符开始的字符串return 0;
}
6字符数组中各元素的值是可以改变的但字符指针变量指向的字符串常量中的内容是不可以被取代的。
7引用数组元素。
8用指针变量指向一个格式字符串可以用它代替printf函数中的格式字符串。