您的位置:首页 > 编程语言 > C语言/C++

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(字符串)

功能:将字符串中小写字母转化成大写字母
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: