C++里数组的一些理解
2016-07-26 16:38
246 查看
C++里数组的一些理解
一、一维数组作为函数的参数
数组作为函数的参数,难点和重点都在于这两点:(1)理解函数参数两种传递方式:传值与传址之间的区别
(2)数组变量本身就是内存地址
关于函数的参数传递方式,传值方式下,传的只是实参的复制品(值一样);传址方式下,传的是实参本身
二、一些字符串处理的函数
1.strcpy(字符型数组1,字符型数组2)
功能:将字符型数组(串)2拷贝到字符型数组1中在使用时,需要注意以下几点
(1)字符型数组1的长度不应小于字符型数组2的长度
(2)字符型数组1必须写成数组名形式str1,字符型数组2可以是字符型数组名,也可以是一个字符串常量
(3)不能用赋值语句将一个字符型数组直接赋值给另一个字符型数组,必须用strcpy函数处理
(4)可以用strncpy函数将字符串2中前若干个字符拷贝到字符型数组1中去
strncpy(str1,str2,2);
2.strcat(字符型数组1,字符型数组2)
函数原型: char* strcat(char*,char*);功能:把数组2拼接到字符型数组1的后面,结果放在字符型数组1中,函数调用后得到一个返回值,该返回值表示字符型数组1的地址
说明:
(1)str1必须足够大,以便容纳连接后的新字符串
(2)连接时将str1后面的’\0’取消(这是什么鬼),只在新串最后保留一个‘\0’
static char str1[80]=people's republic of "; static char str2[]="china"; stract(str1,str2);
3.strcmp(字符型数组1,字符型数组2)
函数原型:int strcmp(char* ,char*);功能:对两个字符串自左向右逐个字符比较(按ASCII码值大小比较),直到出现不同的字符或遇到’\0’为止,比较结果由函数返回
if(!strcmp(str1,str2)) cout<<str1;
4.strlen(字符型数组)
功能:求出字符串中的字符个数,不包括’\0’,并返回字符串的长度例如:
char str[90]="people"; cout<<strlen(str)<<endl;
结果是6
5.strlwr(字符串)
功能:将字符串中大写字母转化成小写字母6.strupr(字符串)
功能:将字符串中小写字母转化成大写字母相关文章推荐