资源描述:
《C02-语法基础3》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C++基础语法3——数组、指针和引用一维数组多维数组字符数组/字符串指针的概念指针的使用指针和数组指针和字符串函数指针指针数组和指向指针的指针引用数组的概念数组是同类型的数据组成的有序的集合数组在内存中占用一段连续的空间数组的长度是必须静态的一维数组定义格式:类型标识符数组名[常量表达式];引用格式:数组名[下标]下标是整型的表达式,值从0开始数组的初始化类型标识符数组名[常量表达式]={常量列表};类型标识符数组名[]={常量列表};数组定义举例inta[10];//所有元素初值是不确定inta[10]={0,1,2,3,4,5,6,7,8,9};int
2、a[10]={0};inta[10]={1};inta[10]={1*10};inta[10]={1,1,1,1,1,1,1,1,1,1};inta[]={1,2,3,4};inta[10]={};//error二维数组定义格式:类型标识符数组名[常量表达式][常量表达式];A[m][n]表示m行n列,即m个一维数组引用格式:数组名[下标][下标]多维数组inta[2][3][4];维数没有限制,数组的总长度为各维长度的乘积,数组的总长度受堆栈空间限制二维数组的初始化分行初始化inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,
3、12}};可以将所有数据写在一个花括号内inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};可以对部分元素赋初值:inta[3][4]={{1},{5},{9}};其他元素为0inta[3][4]={{1},{0},{9}};多维数组作函数参数形参和实参的维数必须相同形参的第二维必须指定长度,第一维可以不指定多维数组不等于指向指针的指针inta[3][2];f(a);voidf(int*a);//errorvoidf(int**a);//errorvoidf(inta[3][2])//correctvoidf(inta[][2])
4、//correctvoidf(inta[][])//correct字符数组和字符串字符数组用法和一般的数组相同字符串是指针类型,而不是数组类型字符串必须以 为结束标志,如果用字符数组来保存字符串,需为后面的 保留一个字节的空间字符数组增加两种初始化方式:charsz[]={“abc…”};charsz[]=“abc…”;注意:数组长度包括后面的 字符数组的输入输出cin,cout后面可以直接跟字符数组用cin输入字符数组后,自动在尾部加一个 用cout输出字符数组时,遇到第一个 时结束输出用cin输入字符数组时,要注意所输入的信息不能大于数组的长度
5、,否则输入信息会覆盖数组后面的空间,从而导致意外错误字符串函数String.h中定义了一组字符串处理函数strcpy拷贝字符串strcmp比较字符串strncmp比较指定长度字符串_stricmp比较字符串(忽略大小写)strlen取字符串长度strcat追加字符串strchr取字符在字符串中第一次出现位置字符串中的汉字处理汉字不同于一般的ASCII码,每个ASCII码占一个字节,而一个汉字占两个字节(依次是一个字的低位和高位),为区别于ASCII码,要求第一个字节的首位必须是1(ASCII码首位为为0)汉字的编码有不同的编码体系,我们常用的中文简体版用的是
6、国标码(GB)string类型string是C++扩展的一个数据类型,它不是基本数据类型,而是C++标准库中提供的一个类使用string类型需加上#includestring类型的用法:#includestrings1;s1=“China”;cout<7、指针常量constint*p;int*constp;constint*constp;指针和数组数组名是指针常量,而指针名可以是变量指针同样可以通过下标访问所指内容指针和字符串字符串常量、字符数组、字符指针属于同一的数据类型。字符串的比较字符串的赋值函数指针函数指针的定义和使用函数指针类型的定义指向成员函数的指针函数指针举例void(*pf)(char*,constchar*);voidstrcpy(char*dest,constchar*source);pf=strcpy;指向成员函数的指针class A{public:void a() {cout<<
8、 "a" <